Enterprise application integration methodology

ABSTRACT

A method for integrating business functions performed by different application systems comprising generating a business model, based upon said application systems, generating a logical model, based upon said business model, generating a physical model, based upon said logical model, designing an infrastructure, based upon said physical model, assembling the infrastructure, testing the infrastructure, and implementing the infrastructure.

CROSS REFERENCE TO RELATED APPLICATION

[0001] This application is related to U.S. application entitled Enterprise Application Integration Methodology, having Ser. No. 60/227,908, filed Aug. 28, 2000 and incorporated by reference herein.

BACKGROUND OF THE INVENTION

[0002] 1. Field of the Invention

[0003] The present invention is related to Enterprise Application Integration (EAI). More particularly, the present invention is related to a methodology for EAI implementation.

[0004] 2. Description of the Related Art

[0005] Application software generally provides functions that directly support part of an enterprise's business processes. Application software may be an off-the-shelf package or it may be custom-built. Applications may be part of an organization's legacy systems, or may be new to the organization. Application integration is the process of making these various applications work together.

[0006] Enterprise Application Integration, hereinafter referred to as “EAI”, is a term used in industry to refer to application integration on a broad scale across an enterprise. EAI refers to the challenge of efficiently linking together many different systems, databases, and applications across an enterprise in a way that allows organizations to keep up with the accelerating pace of change in the marketplace.

[0007] There are many established techniques for integrating systems. However, the term EAI is normally used when referring to one specific type of integration characterized by the use of a set of special tools called “middleware”. EAI tools consist of commercial, off-the-shelf software specifically designed to bridge applications. Alternately, consulting firms may be hired by an enterprise to custom program middleware to integrate the enterprise's systems and applications.

[0008] Existing EAI implementations are point solutions designed to solve a particular problem. For example, a particular EAI point solution may try and solve the problem of tying a web interface directly to an order system within an enterprise so that customers of the enterprise may perform their own ordering. Problems exist with traditional EAI implementations, because existing EAI solutions solve these types of “point” problems only, without regard to the future, and without a methodology to modify and/or expand the point solution as needs arise.

[0009] Further, problems arise with existing EAI implementations because the following questions are not addressed by existing EAI implementations: what is needed after the initial EAI implementation, what happens once the EAI project is implemented, how is the EAI project maintained, how does the EAI project change and evolve over time, and how can the EAI project be expanded to include other applications and/or systems? Therefore, a need exists for an EAI methodology for implementing EAI solutions that address the above-mentioned questions.

[0010] Further, due to the myriad combinations of existing software and middleware solutions, every EAI project is different and presents a unique new challenge. Thus, a need exists for an EAI methodology to implement EAI solutions that provides consistency, and yet is flexible enough to be adaptable to each project.

SUMMARY OF THE INVENTION

[0011] It is an object of the present invention to provide an enterprise application integration methodology for integrating enterprise application systems.

[0012] It is another object of the present invention to provide an enterprise application integration methodology for maintaining enterprise application systems.

[0013] It is a further object of the present invention to provide an enterprise application integration methodology for expanding enterprise application systems.

[0014] It is yet another object of the present invention to provide an enterprise application integration methodology for modifying enterprise application systems.

[0015] The above objects can be attained by a method for integrating application systems, comprising generating a business model, based upon said application systems, generating a logical model, based upon said business model, generating a physical model, based upon said logical model, designing an infrastructure, based upon said physical model, assembling the infrastructure, testing the infrastructure; and implementing the infrastructure.

[0016] These together with other objects and advantages which will be subsequently apparent, reside in the details of construction and operation as more fully hereinafter described and claimed, reference being had to the accompanying drawings forming a part hereof, wherein like numerals refer to like parts throughout.

BRIEF DESCRIPTION OF THE DRAWINGS

[0017]FIG. 1 shows an application integration maturity model according to the present invention.

[0018]FIG. 2 shows an integration framework serving the basis for a repeatable EAI lifecycle methodology according to the present invention.

[0019]FIG. 3 shows EAI methodology phases, activity areas and activities, according to the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0020]FIG. 1 shows an application integration maturity model according to the present invention. At Pre-integration stage 10, whose characteristics include stand-alone systems and manual re-entry and synchronization of data between applications, no application integration has yet occurred.

[0021] Point-to-point integration stage 20, whose characteristic include point-to-point custom interfaces between applications using Application Programming Interfaces (APIs) or data synchronization tools, is the predominant form of how application integration is practiced. For example, point-to-point integration includes systems that communicate with one another through hard coded interfaces. The business rules or logic associated with the interaction between the systems is an integral part of the custom hard coded interface.

[0022] At structural integration stage 30, the business logic and business rules associated with the interaction between systems are integrated into a central framework. Thus, the rules about the interaction between systems is stored centrally. The interfaces between applications send all of their data to one particular hub source, and the rules about where the data is forwarded to is stored in that hub.

[0023] At process integration stage 40, a business process model provides process steps which must occur for a business process to occur. Stage 40 provides a way to model business processes and provide a direct linkage with underlying systems.

[0024] At external integration stage 50, EAI-enabled applications from stages 20, 30, and 40 are leveraged outside the enterprise, to the supply chain.

[0025] This present invention provides the method and approach for achieving structural integration stage 30, and for achieving process integration stage 40, and how to transition from stage 30 to stage 40.

[0026]FIG. 2 shows an integration framework serving the basis for a repeatable EAI lifecycle methodology according to the present invention. There are four key principles behind the formulation of the framework: breaking down complexity into manageable pieces, the importance of an enterprise architecture, integration versus construction, and lifecycle management and change.

[0027] The massive complexity of integrating an entire worldwide supply chain is too detailed to deal with in its entirety. Therefore, the problem is divided into smaller pieces along three dimensions: 1) three management layers called department 60, enterprise 70, and value (or supply) chain 80, 2) four subject threads called process 120, information 130, systems interface 140, and operations 150 and 3) three modeling views, showing different levels of detail called business 90, logical 100, and physical 110 (business modeling view 90 is the broadest view; logical modeling view 100 is a more detailed view; while physical modeling view 110 the most detailed view).

[0028] These three dimensions provide a structured way to break down the problem space into 36 discrete models that can describe the entire end-to-end integrated solution. In order to effectively describe the solution, each model focuses only on the specific cross-section of the three dimensions using, where possible, highly graphical documentation techniques. There are many instances of each model to reflect the specifics of each department, enterprise, and value chain. However, the advantage of this model is that by having a consistent way to break down the problem, it becomes possible to have different groups and individuals working on different parts of the integrated solution with minimal duplication of effort and with minimal gaps.

[0029] The present invention focuses primarily at the middle layer (enterprise 70).

[0030] An enterprise-wide architecture should be considered an input to any EAI initiative—if it does not exist, the eArchitecture component of AMS ePractices should be followed to develop one. Architecture exists across all three dimensions of the framework and defines the underlying constraints, including standards and rules, that any solution addressing that dimension must follow. Most enterprises have architectural standards, and many supply chains have such standards or are attempting to develop them through various associations and standards bodies.

[0031] Another input, apart from the architecture, may be a business process model that shows how the enterprise is planning to execute its business. Such a business process model may, for example, include the activities performed by a person taking an order. Such order taking activities include, for example, order entry, checking service availability, checking the availability of resources to perform installation, performing a credit check, and sending an order to provisioning.

[0032] The models produced as part of an EAI initiative are also enterprise-wide in scope, building on the enterprise-wide architecture. These EAI models are abstract representations of a specific dimension of a real world solution, either as it currently exists or as it will be implemented.

[0033] It is important to keep in mind that while architecture is mainly an input to an EAI project, it may also be affected by EAI. A specific EAI initiative may require a change to an existing architecture, hence the importance of using the Engagement Management Framework® (EMF) in mind to manage dependencies between the different teams involved in integration.

[0034] Construction is the process of creating application functions while integration is the process of linking together existing functions. That is, construction is creating the building blocks while integration is assembling them. This distinction is important, because they use different processes, and different staff members with different skills may be needed to do the work. While subtle, the distinction is important; it is often difficult to draw the line between one and the other.

[0035] One way to clarify the distinction is to ask the following questions: do business rules for the application functions within the defined problem domain exist; where are the business rules implemented? If business rules do not exist or exist only on paper or in a manual function which would be beneficial to automate, then the solution probably involves a construction lifecycle process using a traditional application development lifecycle. This lifecycle starts with the definition of business needs and definition of requirements. Alternatively, if business rules are already embodied within an application, and a goal is to eliminate the manual effort of duplicate data entry or to implement real-time transfer of data from one system to another, then the solution is strictly an integration lifecycle process. The difference is that in an integration-only process, requirements are not needed; rather, specifications of the functions to be integrated are needed, and integration principles are needed that define the objective and help to resolve conflicting business rules.

[0036] The problem of keeping these two activities separate and distinct is even more complicated when considering the situation of establishing new business rules that are result directly from an integration effort. The first question to ask in this situation is where the new functionality should be implemented. There are three possibilities:

[0037] In an existing application (for example, modify a legacy system), which involves a reengineering effort.

[0038] In a new application (for example, a customer management system that consolidates and controls other applications), which involves an eCycle application implementation effort.

[0039] In the middleware layer itself (for example, implementing a customer domain object model within the middleware software agents), which involves a software engineering effort as an integral part of the middleware infrastructure development.

[0040] All three options have pros and cons that are unique to each situation. Application development generally occurs at the departmental layer and integration activities generally occur at the enterprise level. The important point is that this should be an informed, engagement-level decision.

[0041] While the processes for integration and construction are different, it is not necessarily the best approach to have separate teams do the integration and construction work. In many cases, however, it does make sense to have the activities done separately. This should be a conscious, engagement-level decision based on the circumstances.

[0042] Just as applications within a department have a lifecycle and need to be managed throughout their various phases, the middleware layer also has a lifecycle that needs to be managed. The models that represent the enterprise layer, just like maps of a city, must be maintained and constantly updated. The models are living documents that should reflect the current state of the integrated environment at all times. The tools to support the models are still evolving and are clearly less than ideal at present, so this activity still requires a significant manual effort.

[0043] There are several aspects of change to consider in the context of EAI and the full lifecycle:

[0044] (a) How is change driven through the 36 different models in a controlled manner?

[0045] (b) What are the typical drivers of change to an EAI infrastructure?

[0046] (c) What are the typical changes that may be the result of an EAI initiative?

[0047] The answer to (a), at least at a conceptual level, is that change must be driven from the business level down to the logical and physical levels. Furthermore, it must be driven from the enterprise layer—down to the departments and out to the supply chain. Finally, within each layer, change should generally be driven from the process thread through the information, systems, and operations threads. Throughout all of this, it is critical to maintain a feedback loop so that needs at the departmental level and the dynamics of the supply chain result in the necessary changes being driven at the enterprise level.

[0048] The answer to (b) includes the following typical drivers of change:

[0049] The need for a new business application or an upgrade or change to a legacy application.

[0050] Reengineered business processes as a result of an organization development or change management (OD/CM) effort or a similar initiative intended to automate or streamline processes between systems or organizations.

[0051] A new enterprise architecture, which may involve new infrastructure standards.

[0052]FIG. 3 shows EAI phases, activity areas and activities according to the present invention. As shown in FIG. 3, the EAI methodology of the present invention consists of five main phases: define phase 400, design phase 410, build phase 420, test phase 420, and deploy phase 440.

[0053] In the EAI methodology, define phase 400 is associated with enterprise business model activity area 450, enterprise logical model activity area 460, and enterprise physical model activity area 470; design phase 410 is associated with enterprise infrastructure design activity area 480; build phase 420 is associated with enterprise infrastructure assembly activity area 490; test phase 420 is associated with enterprise integration activity area 500; and deploy phase 440 is associated with enterprise infrastructure implementation activity area 510.

[0054] Activity areas 450, 460, 470, 480, 490, 500, and 510 maybe performed during a first or subsequent enterprise-wide EAI effort in an organization. During a subsequent EAI effort, such as one that only involves integrating a single new commercial off-the-shelf application, each activity area is typically shorter and less difficult. For example, existing models can be updated rather than built from scratch and the only setup or programming required would involve the interfaces between any new applications and the middleware.

[0055] Each activity area comprises a number of activities which may be performed within their corresponding parent activity areas. For example, enterprise business model activity area comprises process domain model activity 520, information domain model activity 530, systems interface model activity 540, operations model activity 550, and Business Model Executive Review 555; enterprise logical model activity area 460 comprises logical process event model activity 560, logical information model activity 570, logical interface model activity 580, operations architecture activity 590, and Cross-Team Model Walkthrough activity 595; enterprise physical model activity area 470 comprises physical process event model activity 600, physical information model activity 610, physical interface model activity 620, operations management model activity 630, test strategy model activity 640, and Cross-Team Model Walkthrough activity 645; enterprise infrastructure design activity area 480 comprises integration services design activity 650, data transformation design activity 660, performance test plan activity 670, operations installation/configuration activity 680, and test plan activity 690; enterprise infrastructure assembly activity area comprises build/test integration services activity 700, develop operations procedures activity 710, and test scenarios activity 720; enterprise integration test activity area 500 comprises performance test execution activity 730, production readiness test execution activity 740, and integration test execution activity 750; enterprise infrastructure implementation activity area comprises end user readiness test activity 760, infrastructure installation activity 770, and production turnover activity 780. Each of the activity areas and their corresponding activities are described in detail below.

[0056] Enterprise business model activity area 450 is typically the first activity area in an EAI project. Enterprise business model activity area 450 is part of define phase 400. As part of activity area 450, an organization's application systems are modeled from various aspects, at a conceptual level. The purpose of these models is to show the high-level view of the various systems and how they interact. Both the existing (Aas-is@) and proposed (Ato-be@) states may be modeled.

[0057] The enterprise business models are typically very brief. Each model consists of a one-page highly graphical diagram with supporting details as needed. Enterprise business models are meant to be understood by top-level managers or executives, such as CEOs, CIOs, and CFOs.

[0058] Further, in activity area 450, the organization's key business policies, as they relate to the integration infrastructure, are articulated. These policies, called principles, are used throughout the project to help prioritize options and resolve conflicts or issues.

[0059] The general process for developing each of models in activity area 450 is:

[0060] (1) Identify the problem domain or scope

[0061] (2) Develop the as-is model (which can be thought of as a mapping exercise)

[0062] (3) Plan the to-be model

[0063] (4) Identify integration principles associated with changing from the existing to the proposed state, and

[0064] (5) Perform a cross-team review and obtain senior management approval.

[0065] These five operations are usually parallel and iterative activities, as opposed to sequential discrete activities. For example, if the project team member requires several meetings with a stakeholder, the team member would typically discuss the existing state, the future state and the integration issues at each of the meetings, first at a high level and iterating the level of detail at each subsequent meeting until the models are complete.

[0066] It is not always necessary to create an as-is model. Because the client knows the current environment well, they may not want to spend much effort on modeling it, focusing instead on the to-be model. Nonetheless there may be value in developing the as-is model, particularly for the team members who may not be familiar with the organization. This is a judgement call that the team lead should make in conjunction with the engagement manager and the client.

[0067] It is also common for the scope (problem domain) of the integration initiative to change as part of this activity area. While the client may have a very clear definition of scope when starting the activity area, some issues or opportunities that surface during the as-is/to-be modeling may force a re-evaluation of scope. In other cases, the client may have only a vague notion of the scope and is in fact using the business modeling activity area to clarify and define the appropriate project scope.

[0068] The purpose of documenting the integration principles at activity area 450 is to resolve difficult, and often political, issues early in the project. The idea is not to document all of an organization's policies, but rather just those that could cause the project to slow down or create conflict due to differences of opinions or views. For this reason, integration principles will vary greatly between organizations and from one project to the next. For example, having a single enterprise-wide process owner may be a big political issue for the EAI project; thus this should clearly be a principle. But once this role is firmly established and institutionalized in an organization, it is no longer necessary to document it as a principle for subsequent EAI projects.

[0069] To decide what integration principles are needed, it is necessary to identify potential issues early. The primary technique for identifying these issues is to interview the senior executives and key stakeholders and ask a series of pointed questions. These questions should cover areas in which there is typically quite a lot of disconnect. If consistent answers are given by everyone to a certain question, then there is no need to document it as a principle. (It may, however, be helpful to document the areas of consensus for the purpose of helping new project team members become aware of the organizational norms). If opposing views are voiced or no views are revealed (i.e., an area that the organization has not dealt with at all), then these are the candidates for further in-depth probing and analysis.

[0070] If the organization has ample time and money, a separate consulting engagement could be launched to resolve the identified issues. The Engagement Management Framework® (EMF) decision analysis process also provides useful guidance on how to handle difficult issues. One approach is to try to get to a quick decision by simply making a judgment call, based on prior experience and all the client input, on what the principles should be, and prepare a proposed set of principles. The principles should be intentionally worded in very precise black-and-white terms that focus on the heart of the disagreement. In other words, the principles should be intentionally controversial; if they're not, then it's not an issue for discussion. Once the proposed principles are drafted, then a meeting should be called with all the senior executives and stakeholders for the purpose of discussing, modifying if necessary, and agreeing to the principles. Someone who can be a tie-breaker (e.g.the CEO or CIO) should be present in the meeting.

[0071] Enterprise process domain model activity 520 is an organization's key business processes at the conceptual level, along with the Key Process Areas (KPAs) in each of the domains. The purpose of activity 520 is to determine: the categories of process domains that are strategic and should be managed at the enterprise level; the internal and external KPAs included in each of the process domains; the organizational group or individual responsible for each of the process domains; and the mechanisms to be used to keep the processes across the various domains synchronized.

[0072] Processes within an enterprise need to be managed at the enterprise level. A critical aspect of activity area 520 is to be selective about the KPAs that should be managed at the corporate level. For example, many departmental workflow process steps do not need to be managed at the enterprise level; only when the process activities cross system or organizational boundaries do they become candidates for consideration.

[0073] A KPA is a categorization of major functions and may correspond to departments, department-specific systems, or external units. For example, the Customer Management domain may include KPAs such as contact management, account management, servicing, marketing, churn management, and collections, among others. Alternately, the Financial Management domain may include KPAs such as invoicing, purchasing, accounts receivable, account payable, general ledger accounting, tax reporting, budgeting, and collections.

[0074] Note that in two above examples, the “collections” KPA is listed in both the Customer Management and Financial Management process domains. Some organizations may consider it part of the financial management process while others consider it to be part of the customer management process.

[0075] In terms of what mechanisms may be used to keep processes across domains synchronized, the team should consider formal Method and Procedure documents with a formal change process, middleware based process modeling tools, and an enterprise canonical process model.

[0076] During this activity, the team should also decide on high-level rules for error and exception handling. These are typically documented in an ‘Error Handling Principles’ document that will accompany the Process Domain Model.

[0077] Inputs

[0078] Engagement plan, including context diagrams

[0079] Definition of scope or problem domain

[0080] Enterprise Process Management strategy/plan

[0081] Corporate Information Management strategy/plan

[0082] Existing and relevant system documentation

[0083] Corporate IT Architecture

[0084] Industry Standard process models (if appropriate)

[0085] The general process for developing activity area 520 is:

[0086] Operations

[0087] 1. Identify and confirm the scope of the process domain modeling activities (i.e., whether the entire enterprise or a selected portion will be modeled). The planning horizon should also be confirmed in terms of either one or more initiatives or in terms of time (months or years).

[0088] 2. Identify stakeholders such as “Cx”-level officers, area managers, SMEs and external entities.

[0089] 3. In conjunction with Engagement Management and the client, develop a list of questions with which to probe for possible integration principles. For example, the following questions may be asked:

[0090] What are the integration goals and objectives?

[0091] Is it a goal to achieve flow-through processing (i.e., everything is entered only once)?

[0092] What is your eBusiness strategy, and do you have an implementation roadmap (prioritized list of initiatives)?

[0093] Where is the organization today on the Application Integration maturity model? Where do you want to be?

[0094] How long does it typically take to implement a systems project? How long should it take?

[0095] Is there an enterprise process owner; how will conflicts be resolved?

[0096] How should duplicate processes be resolved?

[0097] Are you currently using any workflow tools?

[0098] If so, which tools are you using or planning on using?

[0099] Do your systems track Awork in progress@ revenue?

[0100] Is establishing credit a manual or electronic process? If manual, do you track error rates for rekeying problems?

[0101] What is your order interval?

[0102] Do you track error rates for re-keying problems?

[0103] Is your sales-to-order entry process automated?

[0104] If so, which tools are you using or planning on using?

[0105] What type of orders do you process?

[0106] Do you know the length of the typical order interval, starting with the sale and ending with billing for the service?

[0107] Do you track the average cost-per-customer-order for this process?

[0108] Are you currently using eCommerce for the sales process?

[0109] Can your sales people enter new or additional orders via the Internet?

[0110] Can your existing customers add additional services via the Internet?

[0111] Do you provide electronic bill presentment and payment (EBPP) options?

[0112] Is there a canonical enterprise process model?

[0113] 4. Conduct interviews and/or meetings with stakeholders to identify characteristics of the as-is and to-be states and to identify possible integration issues.

[0114] 5. Develop graphical depiction of the as-in and to-be model and develop a draft of the integration principles.

[0115] 6. Review and validate the model and principles with stakeholders. Iterate operations 4 and 5 as necessary to develop a sufficiently detailed and meaningful model.

[0116] 7. Prepare for and participate in the cross-team review of all the models (see the Business Model Executive Review activity).

[0117] 8. Prepare for and conduct a final review with senior management to obtain approval of the model.

[0118] 9. Prepare the final documentation according to engagement or client standards.

[0119] The work products of activity 520 are the process domain model, process integration tenets and the error handling principles document, both of which are included in output 525.

[0120] Information domain model 530 is a graphical representation of the various Ainformation domains@ along with the associated knowledge management principles. Information domains are defined as the general categories of information that the organization views as strategic resources and wishes to manage at the enterprise level.

[0121] The purpose of activity 530 is to answer the following questions at the enterprise level:

[0122] What are the information domains?

[0123] Where does the information within the domains come from?

[0124] How is the information structured from a systems perspective so that the information domains can be managed?

[0125] Typical information domains include customers, suppliers, products or services, orders, inventory, human resources, and intellectual property, among others. Only information domains that require a specific IT strategy at the enterprise level need to be included.

[0126] In terms of information sources, the information team should consider both internal and external information sources. For example, the Customer information domain may include internal information sources such as customer relationships or hierarchies, financial track record, transaction history, correspondence log, current order status, channel utilization and many other possibilities. External information may include items such as credit status, market demographics or behavior patterns.

[0127] The information may be structured using one of several strategies:

[0128] Domain Object Model (DOM). When using this strategy, attributes of an object/event may be distributed across more than one application system. An object is created on demand when a related event occurs, rather than being stored. This strategy incorporates any level of canonical data or method abstraction.

[0129] Designated COTS. When using this strategy, one COTS application is the master/owner of the sub-entity; it is synchronized with other systems that use the same information. There is no data or method abstraction at this level, only a simple data synchronization.

[0130] Dedicated, custom-built application. All the information and business logic for a process is pulled into one application dedicated to that purpose. An example would be to build a separate product catalogue that would act as the central repository for the enterprise as well as for any adds, changes or deletes; any applications that required product data would receive information from this application.

[0131] Data Warehouse and Federated database. Data warehousing allows for a consolidated view of an entity, such as customer, from several systems. Federated databases provide the capability to move data directly from one database to another database, bypassing the application logic.

[0132] Manual synchronization. One or more systems are manually updated to be in synch with other systems.

[0133] The information structure should be decided early and recorded in the Information Domain Principles.

[0134] Inputs

[0135] Engagement plan, including context diagrams

[0136] Definition of scope or problem domain

[0137] Enterprise Knowledge Management strategy/plan

[0138] Corporate Information Management strategy/plan

[0139] Existing and relevant system documentation

[0140] Corporate IT Architecture or Enterprise Architecture

[0141] Operations

[0142] 1. Identify and confirm the scope of the information domain modeling activities (i.e., whether the entire enterprise or a selected portion will be modeled). The planning horizon should also be confirmed in terms of either one or more initiatives or in terms of time (months or years).

[0143] 2. Identify stakeholders such as “Cx”-level officers, area managers, SMEs and external entities.

[0144] 3. In conjunction with Engagement Management and the client, develop a list of questions with which to probe for possible integration principles. The following is a starter list:

[0145] What internal and external information sources exist?

[0146] Is there a canonical enterprise data model?

[0147] Do you utilize decision support tools when selecting customer demographic types?

[0148] Is your product catalogue captured in a single system?

[0149] Which information domains or systems are the “master” in situations where the underlying systems have duplicate or inconsistent information?

[0150] Do you currently have a data warehouse or are you planning to implement one? If you have one, how effective is it?

[0151] Do you use multiple systems to provide similar functions? If so, which tools are you using or planning on using? What mechanisms are in place to keep them synchronized?

[0152] 4. Conduct interviews and/or meetings with stakeholders to identify characteristics of the as-is and to-be states and to identify possible integration issues.

[0153] 5. Develop graphical depiction of the as-in and to-be models and develop a draft of the integration principles.

[0154] 6. Review and validate the model and principles with stakeholders. Iterate operations 4 and 5 as necessary to develop a sufficiently detailed and meaningful model.

[0155] 7. Prepare for and participate in the cross-team review of all the models (see the Business Model Executive Review activity).

[0156] 8. Prepare for and conduct a final review with senior management to obtain approval of the model.

[0157] 9. Prepare the final documentation according to engagement or client standards.

[0158] Work Products of activity 530 include an Enterprise Information Domain Model 535 and Enterprise Information Domain Principles. Enterprise Information Domain Model 535 should be very brief showing the as-is state (if appropriate), the to-be state (or both states could be combined by using shading or other notation techniques to differentiate the two states).

[0159] The Enterprise Information Domain Principles should include the top integration principles related to knowledge management. The principles should be high-level, which generally means there should be no more than 5 or 6 at the most.

[0160] Enterprise systems interface model 540 is the highest-level model of the application systems in the enterprise and the hardware, software and network infrastructure that links them together.

[0161] The units represented in model 540 are a high-level aggregation of systems and the interface architecture that links them. If there are more than 20 to 30 systems, then related systems should be categorized in groups and combined. Both internal and external links should be modeled.

[0162] Model 540 should show the major data flows as simple connections between systems. At this level, model 540 should be focused on the main business process data flows, omitting data flows associated with maintenance functions.

[0163] The purpose of activity 540 is to answer the following questions at the enterprise level:

[0164] What are the categories of application systems that are strategic and should be managed at the enterprise level?

[0165] What internal and external systems are included in each of the categories?

[0166] What is the structure (architecture) of the major links between the systems?

[0167] The model should indicate whether the systems are connected through point-to-point interfaces, bus or hub architecture, network architecture, or external links to clients or trading partners. It could also show where information exchange takes places through manual processes, such as magnetic tape transfer by courier, fax, manual re-keying, or any other type of manual process.

[0168] Model 540 should be highly graphical and make use of different colors or shapes of lines and various icons to represent different types of interfaces.

[0169] Inputs

[0170] Engagement plan, including context diagrams

[0171] Definition of scope or problem domain

[0172] Enterprise Process Management strategy/plan

[0173] Corporate Information Management strategy/plan

[0174] Existing and relevant system documentation

[0175] Corporate IT Architecture or Enterprise Architecture

[0176] Operations

[0177] 1. Identify and confirm the scope of the systems interface modeling activities (i.e., whether the entire enterprise or a selected portion will be modeled). The planning horizon should also be confirmed in terms of either one or more initiatives or in terms of time (months or years).

[0178] 2. Identify stakeholders such as “Cx”-level officers, area managers, SMEs and external entities.

[0179] 3. In conjunction with Engagement Management and the client, develop a list of questions with which to probe for possible integration principles. The following is a starter list:

[0180] Where is the organization today on the Application Integration maturity model? Where do you want to be?

[0181] How long does it typically take to implement a systems project? How long should it take?

[0182] What is the enterprise security policy regarding the infrastructure (such as authorization, confidentiality, privacy, and non-repudiation)?

[0183] What is the trusted domain in which a single login is required?

[0184] What are your interface standards and do they support API's, stored procedures, screen scraping or a combination?

[0185] What level of application insulation is required? For example, are your middleware interfaces (e.g., ‘adapters’) intrusive/non-intrusive, dynamic/static, or thick/thin?

[0186] Do you have a separate integration test environment?

[0187] Are you using any Interconnection Gateways?

[0188] Have the application system owners and interface owners been identified?

[0189] Have you explored using middleware tools to integrate your various software tools? If so, which packages are you using or planning on using?

[0190] Have you explored using a service bureau as an interim step to implementing your systems?

[0191] Does an enterprise architecture document exist?

[0192] 4. Conduct interviews and/or meetings with stakeholders to identify characteristics of the as-is and to-be states and to identify possible integration issues.

[0193] 5. Develop graphical depiction of the as-in and to-be model and develop a draft of the integration principles.

[0194] 6. Review and validate the model and principles with stakeholders. Iterate operations 4 and 5 as necessary to develop a sufficiently detailed and meaningful model.

[0195] 7. Prepare for and participate in the cross-team review of all the models (see the Business Model Executive Review activity).

[0196] 8. Prepare for and conduct a final review with senior management to obtain approval of the model.

[0197] 9. Prepare the final documentation according to engagement or client standards.

[0198] The Work Products of activity 540 include Enterprise Systems Interface Model 545 and Enterprise Systems Interface Principles. Both the as-is and to-be states should be modeled. The as-is model should include any client future systems plans.

[0199] The model should be very brief. It should contain one page each for as-is and to-be states (or one page that shows both using shading or other techniques).

[0200] The Enterprise Systems Interface Principles should include the top integration principles related to system interfaces. The principles should be high-level, which generally means there should be no more than 5 or 6 at the most for interfaces.

[0201] Enterprise operations model 550 shows the organization's key operations domains at the conceptual level and key service areas within the domains.

[0202] The purpose of activity 550 is to answer the following questions at the enterprise level:

[0203] What are the high-level operations domains that are managed at the enterprise level?

[0204] What key internal or external services are provided by each of the operations domains?

[0205] Which organizational group or individual is responsible for each of the operations domains and to whom are they providing the services?

[0206] What mechanisms and key tools are used to provide the services?

[0207] During activity 550, the team may also define, at a high level, the service levels for the integrated environment. While the detailed metrics and thresholds may not be finalized until the logical or physical activity areas, it is important to understand at the business level which service level areas are the key ones to be used to measure the operational readiness of the to-be integrated environment. These should be documented in an ‘Operations Readiness’ document that will accompany the Operations Model.

[0208] Inputs

[0209] Engagement plan, including context diagrams

[0210] Definition of scope or problem domain

[0211] Policies and Procedures relevant to operations

[0212] Corporate Information Management strategy/plan

[0213] Existing and relevant system documentation

[0214] Corporate IT Architecture or Enterprise Architecture

[0215] Operations

[0216] 1. Identify/confirm the scope of the operations modeling activities (i.e., entire enterprise or a selected portion). The planning horizon should also be confirmed in terms of either one or more initiatives or in terms of time (months or years).

[0217] 2. Identify stakeholders such as “Cx”-level officers, area managers, SMEs and external entities.

[0218] 3. In conjunction with Engagement Management and the client, develop a list of questions with which to probe for possible integration principles. The following is a starter list:

[0219] What service level measures and metrics are currently in place?

[0220] What are your expectations of the integrated environment in terms of performance, reliability, availability, maintainability and throughput?

[0221] What are your internal and external security and audit controls?

[0222] What are your business volume projections in each of the operational areas?

[0223] What opportunities exist for productivity improvements?

[0224] What are the operations goals and objectives relative to the integration effort?

[0225] Where is the organization today on the Application Integration maturity model? Where do you want to be?

[0226] How long does it typically take to implement a systems project? How long should it take?

[0227] 4. Conduct interviews and/or meetings with stakeholders to identify characteristics of the as-is and to-be states and to identify possible operations issues.

[0228] 5. Develop graphical depiction of the as-in and to-be model and develop a draft of the operations principles.

[0229] 6. Review and validate the model and principles with stakeholders. Iterate operations 4 and 5 as necessary to develop a sufficiently detailed and meaningful model.

[0230] 7. Prepare for and participate in the cross-team review of all the models (see the Business Model Executive Review activity).

[0231] 8. Prepare for and conduct a final review with senior management to obtain approval of the model.

[0232] 9. Prepare the final documentation according to engagement or client standards.

[0233] The Work Products of activity 550 include Enterprise Operations Model 553, Enterprise Operations Principles, and an Operations Readiness Document. Regarding model 553, both the as-is and to-be states should be modeled. The as-is model should include any client future systems plans.

[0234] The model should be very brief. It should contain one page each for as-is and to-be states (or one page that shows both using shading or other techniques).

[0235] Regarding the Enterprise Operations Principles, the operations principles should be high-level; which generally means there should be no more than 5 or 6 at the most for the operations model.

[0236] The Operations Readiness Document should describe (at a business level) which key service level areas will be used to measure the operational readiness of the to-be integrated environment.

[0237] During business model executive review activity 555, which closes Enterprise Business Model activity area 450, the business models are reviewed at the executive level. The purpose of this walk through is to ensure understanding and buy-in of the current and future states of the organization's systems.

[0238] Inputs

[0239] Enterprise Information Domain Model

[0240] Enterprise Process Domain Model

[0241] Enterprise Systems Interface Model

[0242] Enterprise Operations Model

[0243] Operations

[0244] 1. Conduct meeting with all appropriate executives of the client organization, along with the top managers of the AMS team. Present and walk through each business model.

[0245] 2. Confirm understanding, approval on the part of the client executives.

[0246] 3. Publish approved version of the models.

[0247] Work Product(s)

[0248] Approved Enterprise Business Specification Document. Organizational Norms Document (summary of findings of consensus areas that can be used for assimilating team members).

[0249] Enterprise logical model activity area 460. As part of activity area 460, various aspects of the organization's systems are modeled from a logical point of view. These models show what the interactions between systems are, in terms of information, processes, interfaces, and operations. These conceptual relationships do not necessarily correspond to how the systems are physically implemented.

[0250] The logical models may be fairly detailed. However, they should be general enough to be understood at the management level.

[0251] Ideally, the logical model should be developed for both the current (as-is) state and the desired (to-be) state. However, it is not always necessary to create an as-is model. This is a judgement call that the team lead should make in conjunction with the Engagement Manager and the client.

[0252] A Cross-Team Logical Model Review is held at the end of activity area 460.

[0253] Logical process event model activity 560 produces an integrated view of business processes throughout the problem domain (all the applications to be integrated). Only the interaction events between applications are modeled; the detailed process operations that occur within each application are usually omitted from the enterprise level model. Logical process event model activity 560 breaks down these general business processes into event flows and shows which system is responsible for which function.

[0254] Logical process event model activity 560 includes several operations and work products:

[0255] Business Scenarios. Each business scenario describes a series of events depicting a business process. Each scenario is a script that describes how to perform a process and the system's role in the process.

[0256] Logical Process Diagrams. This type of diagram is a graphical representation of a business process. There will most likely be more than one of these models. There may, for example, be one for each business scenario.

[0257] Systems Interaction Matrix. These matrices map each step in the business scenario to the appropriate system; there is one for each business scenario. The event(s) associated with each step are noted in the matrix.

[0258] A Function-System Matrix, which maps the major functions to the responsible system(s) and/or manual process. The matrix need only include the functions that involve more than one system in the problem domain. This matrix serves as a summary of the information in the Systems Interaction Matrices.

[0259] Logical event flow diagrams, which indicate how events are logically passed between applications and the information broker, and in what sequence. At a logical level, these diagrams hide the details of how event iterations will actually be implemented (e.g., event splitting and complex event routing that will be done through middleware components).

[0260] An Error Handling Approach, documented in greater detail than in the Error Handling Principles document. The approach should include information on such topics as error detection responsibilities, error reporting and logging procedures, and the information contained in error messages. Error handling should also be included as one of the processes modeled in the logical event flow diagrams.

[0261] During activity 560, the Process team may also produce an Impact Analysis document that may be used to communicate impacts to teams outside the EAI effort.

[0262] Inputs

[0263] Enterprise Process Domain Model

[0264] Error Handling Principles document

[0265] Application Specifications

[0266] Operations

[0267] 1. Identify stakeholders, such as area managers and SMEs. These are the people that are needed to support the construction of the Logical Process Event Model and to approve the completed model.

[0268] 2. Collect any existing Logical Process Event Models or related documentation.

[0269] 3. Collect the specifications for any applications being built or modified in concurrence with the EAI effort.

[0270] 4. Conduct interviews and/or meetings with the stakeholders to develop and document business scenarios. Scenarios should be developed for those processes that involve integration (i.e., cross more than one system).

[0271] 5. Develop Logical Process Diagrams to illustrate the business scenarios.

[0272] 6. For each business scenario, map the functions in each step to the responsible system. Document these operations in a Systems Interaction Matrix (one for each business scenario). Assign event names to each step that involves crossing systems.

[0273] 7. Summarize the information in the System Interaction Matrices in the Functional-System Matrix, mapping logical functions to the responsible system. For each function, there may be a primary and secondary system.

[0274] 8. Conduct interviews and/or meetings with the stakeholders to develop the list of logical events. For each event, develop a logical event flow diagram that shows the end-to-end applications sequence.

[0275] 9. Conduct interviews and/or meetings with the stakeholders to document the current error handling approach, and to develop the new approach. Document this approach in the Error Handling Approach document.

[0276] 10. Review and validate document with stakeholder managers and SMEs. Repeat operations 4, 5 and 6 as necessary to develop an accurate and sufficiently detailed model.

[0277] 11. Prepare for the cross-team review of all the models (see the Cross-Team Logical Model Walkthrough activity) by preparing an Impact Analysis Summary, which documents the impact of Process thread activities on groups outside the EAI project.

[0278] 12. After the cross-team review, prepare for and conduct a final review with managers to obtain approval of the model.

[0279] 13. Prepare and publish the final documentation according to engagement or client standards.

[0280] The Work Product of activity 560 is logical process event model 563, which includes:

[0281] Business Scenarios

[0282] Logical Process Diagrams

[0283] Systems Interaction Matrices

[0284] Functional System Matrix

[0285] Logical Event Flow Diagrams

[0286] Error Handling Approach

[0287] Impact Analysis Summary for Process Thread

[0288] Enterprise logical information model activity 570 produces an integrated view of business data throughout the problem domain.

[0289] On an EAI project, logical information modeling activity 570 focuses on the data that is “visible” from an external perspective, that is, the data that is exchanged between applications and is thus relevant to integration.

[0290] Which specific work products are produced depends on the information management strategy being used; this strategy should have been chosen when developing the Enterprise Information Domain Principles.

[0291] Logical information model activity 570 includes several operations and work products:

[0292] Logical Data Model. This model shows the information entities and their relationships. This diagram models only the information that is relevant to integration. If a domain object model approach is being used, these entities will be considered canonical entities.

[0293] Data Mapping Chart. The purpose of this chart is to show the relationship of entities from one integrated system to another, as well as to canonical entities. When appropriate, the mappings should be brought down to the attribute level. As with other logical information-related work products, data mappings always deal with data involved in integration with other systems, not just all data within a particular application being integrated.

[0294] Entity Definitions. These definitions should be produced if the knowledge/information management strategy involves a domain object model. These are canonical data entities; they define how the data will be understood and represented by the middleware. Thus messages sent to the middleware from any application must be converted to adhere to this definition. These canonical entities are defined at the attribute level. Characteristics of each attribute, including the source application, are recorded in the Entity Definition template.

[0295] Logical Event Definitions. These definitions define what data is exchanged between the entities in a logical event flow. (Logical Event Flow Diagrams are being developed concurrently as part of the Logical Process Model activity.) At the logical level, event definitions should focus on how data is mapped and/or transformed between two entities; it should hide the specific operations that may need to take place as part of that transformation, i.e., those operations involving middleware components. The logical event definitions should include:

[0296] A specification of the event fields, down to the data type level

[0297] A specification of the data mappings between the applications using the event (for example, the field in an order management system that corresponds to a field in a billing system)

[0298] A specification of any transformations that are required to exchange data between applications (for example, reformatting of customer address information).

[0299] In building the logical models, the Information team should use data dictionaries or other existing information to understand various characteristics of the data, including integrity issues and data latency requirements.

[0300] Both the as-is and to-be states should be modeled.

[0301] During activity 570, the Information team should also produce an Impact Analysis document that will be used to communicate impacts to teams outside the EAI effort.

[0302] Inputs

[0303] Enterprise Information Domain Model

[0304] Enterprise Process Domain Model

[0305] Application Specifications (from application development teams)

[0306] Enterprise Logical Process Event Model

[0307] Operations

[0308] 1. Identify stakeholders, such as area managers and SMEs. These are the people that are needed to support the Logical Information Model tasks and to approve the completed products.

[0309] 2. Collect any existing Logical Information Models or related documentation.

[0310] 3. Collect the specifications for any applications being built or modified in concurrence with the EAI effort.

[0311] 4. Conduct interviews and/or meetings with the stakeholders to identify the major entities and their relationships for both the as-is and to-be states. Only those entities that involve more than one system should be included.

[0312] 5. If using a knowledge management approach that requires data mapping: conduct interviews, meetings, and/or working sessions with the stakeholders to map data from one application to another. Only those attributes relevant to integration should be included.

[0313] 6. If using a domain object model approach: conduct interviews and/or meetings with managers and SMEs to develop the canonical entity definitions.

[0314] Determine the attributes associated with each entity, and determine the source database for each.

[0315] If the attribute is found in multiple databases, determine which database is the system of record.

[0316] 7. Conduct interviews and/or meetings with the stakeholders and with the Process team to develop logical event definitions. A logical event definition should be developed for each step in each logical process event flow. This process may include the following tasks:

[0317] Learn what the operations are in each logical event flow.

[0318] Determine what data (at the attribute level) is required by the application that is receiving the event in each step.

[0319] Determine, for each attribute, where that data comes from (e.g., requires user input; requires external system input; can be derived, and so on).

[0320] In the Logical Event Definition template, record the mapping of the original data from the sending application to the receiving application.

[0321] 8. Review and validate document with stakeholder managers and SMEs. Repeat operations 4 and 5 as necessary to develop an accurate and sufficiently detailed model.

[0322] 9. Prepare for the cross-team review of all the models (see the Cross-Team Logical Model Walkthrough activity) by preparing an Impact Analysis Summary, which documents the impact of Information thread activities on groups outside the EAI project.

[0323] 10. After the cross-team review, prepare for and conduct a final review with managers to obtain approval of the model.

[0324] 11. Prepare and publish the final documentation according to engagement or client standards.

[0325] The Work Products of activity 570 include Logical Information Model 575,

[0326] Data Mapping Chart

[0327] Entity Definition

[0328] Logical Event Definition

[0329] Impact Analysis Summary for Information Thread

[0330] Logical systems interface model activity 580 is an integrated view of the connections between any applications included in the problem domain. Activity 580 breaks the problem domain into logical subsystems and shows more detail about each interface.

[0331] Logical systems infrastructure model 580 may include the following:

[0332] Application software specifics (including version number)

[0333] Databases associated with each application (if applicable)

[0334] An indication of the direction of information flow between applications and the middleware (and/or other applications)

[0335] An indication of whether the interaction is synchronous or asynchronous

[0336] An indication of the interaction paradigm (e.g., conversational, request/reply, publish/subscribe, polling, batch message/data passing, or message queuing)

[0337] As with the other models, both the as-is and to-be states should be modeled.

[0338] During activity 580, the Interfaces team may also produce an Impact Analysis document that will be used to communicate impacts to teams outside the EAI effort.

[0339] Inputs

[0340] Enterprise Systems Interface Model

[0341] Enterprise Process Domain Model

[0342] Application Specifications

[0343] Enterprise Logical Process Event Model

[0344] Operations

[0345] 1. Identify stakeholders, such as area managers and SMEs. These are the people that are needed to support the construction of the Logical Systems Interface Model and to approve the completed model.

[0346] 2. Collect any existing System Interface Models or related documentation.

[0347] 3. Collect the specifications for any applications being built or modified in concurrence with the EAI effort.

[0348] 4. Conduct interviews and/or meetings with managers and SMEs to gather information about the current interfaces and to plan the new interfaces. Members of the Process team may be involved in these meetings, in order to provide information about the flow of events between applications. The following are among the topics that should be covered:

[0349] Specific software and databases used for each application (including version)

[0350] Direction of information flow between applications (and middleware, if applicable)

[0351] Required timing of information flow (synchronous vs. asynchronous) and type of interaction (such as request/reply or publish/subscribe)

[0352] 5. Using the information just gathered, develop a graphical representation of the as-is and to-be systems interface models.

[0353] 6. Review and validate document with stakeholder managers and SMEs. Iterate operations 4 and 5 as necessary to develop an accurate and sufficiently detailed model.

[0354] 7. Prepare for the cross-team review of all the models (see the Cross-Team Logical Model Walkthrough activity) by preparing an Impact Analysis Summary, which documents the impact of Interfaces thread activities on groups outside the EAI project.

[0355] 8. After the cross-team review, prepare for and conduct a final review with managers to obtain approval of the model.

[0356] 9. Prepare and publish the final documentation according to engagement or client standards.

[0357] The Work Products of activity 580 include Enterprise Logical Systems Interface Model 585, which consists of a graphical representation of the as-is and to-be interfaces, and an Impact Analysis Summary for the Interfaces Thread.

[0358] Operations architecture activity 590 is part of the operations thread, during which the Operations team focuses on the operational aspects of the anticipated integration infrastructure.

[0359] As part of activity 590, the Operations team produces the following:

[0360] A Hardware and Network Configuration Diagram that provides a pictorial representation of the hardware and network configuration that is required to support the various applications and databases, etc. One diagram should be produced for the as-is state. Another should be produced that shows the anticipated to-be state. (At this point, it is too early to know all the hardware and network specifications; these are documented to the extent possible at this time, then refined as part of the next activity area.) This model will be at a very high-level and will convey information such as the following:

[0361] Each machine, identified by its type, such as Sun 4500, and name (the identifier assigned by client)

[0362] Physical location of machines or groups of machines,such as a city or building

[0363] Connections between machines, portrayed as simple links (without details)

[0364] Software versions and databases on each machine

[0365] A document that describes the required service levels of various operational services, for both as-is and to-be states. These include specific values in the following areas:

[0366] Administration (ability to discover and configure infrastructure, and monitor data transformation, workflow and routing)

[0367] Availability and performance (message warehousing, performance monitoring, performance metrics, gathering sizing information, plotting trends for capacity planning, maintaining availability log)

[0368] Integration infrastructure operations (setting event thresholds and alarm notifications, common services, integration with management application)

[0369] Reliability

[0370] Security

[0371] A Configuration Management Plan, which should include topics such as the following:

[0372] Version control procedures

[0373] Export/import hierarchical order

[0374] File check-out/check-in procedures

[0375] File migration procedures

[0376] File backup procedures

[0377] Event creation and migration; maintenance of event inventory

[0378] During this activity, the Operations team should also produce an Impact Analysis document that will be used to communicate impacts to teams outside the EAI effort.

[0379] Inputs

[0380] All Enterprise Business Models

[0381] Application Specifications

[0382] Enterprise Architecture

[0383] Operations

[0384] 1. Identify stakeholders, such as area managers and SMEs. These are the people that are needed to support the construction of the Operations Architecture and to approve the completed model.

[0385] 2. Collect any existing Operations Architectures or related documentation.

[0386] 3. Collect the specifications for any applications being built or modified in concurrence with the EAI effort.

[0387] 4. Conduct interviews and/or meetings with Operations staff, along with other managers and SMEs as necessary, to determine the machines that are currently being used, which machines are connected to each other, where the machines are located, and what software and databases reside on each.

[0388] 5. Get input from the software vendors to determine what machines that are needed to support the new integration infrastructure. Find out what their software requires in terms of operating system, capacity, etc., and what hardware they recommend. Check their recommendations against past AMS experience with the same software products.

[0389] 6. Determine which machines will be connected to each other, where the machines will be located, and what software and databases will reside on each.

[0390] 7. Develop a high-level graphical representation (the Hardware and Network Configuration Model) that conveys both the as-is and to-be information.

[0391] 8. Conduct interviews and/or meetings with Operations staff, along with other managers and SMEs as necessary, to review the list of service level categories (both as-is and to-be) that were developed as part of the Operations Model.

[0392] 9. Develop a list of the different ways each category is currently measured, and a list of how they will be measured after integration. For example, the service level for the category Performance might be measured by end user response time or batch processing time. Try to limit the number of categories and measures. The total number of measures should not exceed 15 or 20.

[0393] 10. Conduct interviews and/or meetings with Operations staff, along with other managers and SMEs as necessary, to document the current targets for the various service levels, and to agree on what the targets for the new integrated system will be.

[0394] 11. Have an expert in each service level category give the initially proposed service level targets a “reasonableness test”. If is seems as though it would be difficult, expensive or just not possible to meet the service level target, the team should do an more in-depth analysis of the costs and trade-offs involved. They should document their decisions made, following the guidelines described in the Best Practices paper “Writing Decision Papers” (Hess, 1994).

[0395] 12. Review and validate document with stakeholders (Operations staff, managers, and SMEs). Iterate/repeat operations 4 through 11 as necessary to develop an accurate and sufficiently detailed work product.

[0396] 13. Prepare for the cross-team review of all the models (see the Cross-Team Logical Model Walkthrough activity) by preparing an Impact Analysis Summary, which documents the impact of Operations thread activities on groups outside the EAI project.

[0397] 14. After the cross-team review, prepare for and conduct a final review with managers to obtain approval of the model.

[0398] 15. Prepare and publish the final documentation according to engagement or client standards.

[0399] 16. Develop a Configuration Management Plan. This can most likely be developed using examples from past projects.

[0400] The Work Products of activity 590 is operations architecture management document 593, which includes

[0401] Hardware and Network Configuration Diagram

[0402] Required Service Level Values

[0403] Configuration Management Plan

[0404] Impact Analysis Summary for Operations Thread

[0405] During cross-team model walkthrough activity 595, which closes Enterprise Logical Model activity area 460, the Information, Process, Interfaces, and Operations teams meet for a detailed walkthrough of the logical models that were produced as part of this activity area.

[0406] The walkthrough should also be attended by those organization members who are outside the EAI project but are directly impacted by it. This includes stakeholders in the organization's application development teams and business units.

[0407] In addition, it may also be useful for the Integration Test Team to attend this walkthrough, to allow for early knowledge transfer.

[0408] The purpose of this walkthrough is to ensure consistency and understanding between teams, and to spot any issues early.

[0409] Inputs

[0410] Enterprise Logical Information Model

[0411] Enterprise Logical Process Event Model

[0412] Enterprise Logical Systems Interfaces Model

[0413] Operations Architecture

[0414] Impact Analysis Summaries from Information, Process, Interfaces, and Operations Teams

[0415] Operations

[0416] 1. Conduct a walkthrough meeting with representatives from the Information, Process, Interfaces, and Operations teams; applications and business unit stakeholders; and the Integration Test team. Present and walk through each logical model, as well as the Impact Analysis Summaries from each team.

[0417] 2. Record any issues that arise.

[0418] 3. Update the various models as issues are resolved.

[0419] 4. Publish the approved version of the models.

[0420] Work Product(s)

[0421] Approved Enterprise Logical Models

[0422] As part of Enterprise physical model activity area 470, various dimensions of the organization's systems are modeled from a physical point of view. These models show how the systems physically interact in terms of information, processes, and interfaces.

[0423] Physical models 600, 610, and 620 show how the logical model will be physically implemented; thus they are typically longer and more detailed than logical models 560, 570, and 580. For example, there will likely be more than one physical event per logical event, because the physical event implementation may be different from the logical event.

[0424] Physical models 600, 610, and 620 will be used mainly by IT staff members or others directly involved in the project effort. These staff members will review the models during the Cross-Team Physical Model Review, held at the end of the activity area.

[0425] Enterprise test strategy 640 is also developed as part of this activity area. This Strategy gives a high-level description of the testing activities that will take place during the EAI project.

[0426] Physical process event model 600, part of the Process thread, shows the actual physical implementation of logical process event model 560. Physical process event model 600 consists of:

[0427] Physical event flow diagrams, which provide a drill-down of the logical event flows that were developed as part of the previous activity area. For each logical event flow, there is one or more physical events flows. The physical event flow diagram deals with how the event flow will actually be implemented, at a low level of granularity, and shows the following:

[0428] In addition to showing applications involved at each operation, also includes the flows between the information broker and specific middleware components

[0429] Event splitting and routing (in series or in parallel) that may be necessary to communicate with more than one application

[0430] Event chaining (in series), which is necessary when more than one event is necessary to retrieve all the information required from an application (i.e., more than one physical event is necessary to achieve a single logical event)

[0431] An Error Handling Details document that includes the same topics covered in the Error Handling Approach paper (error detection responsibilities, error reporting and logging procedures, error message information), but with more details about implementation. It may also include information regarding error message format, developer responsibilities, error severity levels, recovery procedures, and auditing procedures. Error handling should also be included as one of the processes documented in the physical event flow diagrams.

[0432] As with the other models, both the as-is and to-be states should be modeled. During this activity, the Process team may also produce an Impact Analysis document that will be used to communicate impacts to teams outside the EAI effort.

[0433] Inputs

[0434] Enterprise Logical Process Event Model work products

[0435] Operations

[0436] 1. Collect any existing Physical Process Models or related information.

[0437] 2. Conduct interviews and/or meetings with managers and SMEs to develop physical event flow diagrams for each physical event, for both the as-is and the to-be states. The diagrams should show end-to-end applications sequence and if applicable, include middleware components.

[0438] 3. Conduct interviews and/or meetings with the stakeholders to document the current error handling details, and to develop the new details. Document this approach in the Error Handling Details document.

[0439] 4. Review and validate both documents with managers and SMEs. Repeat operations 2 and 3 as necessary to develop an accurate and complete set of physical event flows and error processing details.

[0440] 5. Prepare for the cross-team review of all the models (see the Cross-Team Physical Model Walkthrough activity) by preparing an Impact Analysis Summary, which documents the impact of Process thread activities on groups outside the EAI project. This summary can be an update of the summary produced as part of the Enterprise Logical Model activity area.

[0441] 6. After the cross-team review, prepare for and conduct a final review with managers to obtain approval of the model.

[0442] 7. Prepare and publish the final documentation according to engagement or client standards.

[0443] The Work Products of activity 600 is an enterprise physical process evant model 605, which includes:

[0444] Physical Event Flow Diagrams and

[0445] Error Handling Details

[0446] During physical information model activity 610, which is part of the Information thread, the Information team produces the following:

[0447] The Enterprise Physical Information Model, which shows the actual physical implementation of the Logical Information Model.

[0448] An assessment of the quality of the existing enterprise production data, and proposed solutions for any problems that are uncovered.

[0449] The Physical Information Model consists of physical event definitions, which define what information is exchanged between the applications involved in a physical event flow. (Physical event flow diagrams are being developed concurrently as part of the Physical Process Model activity.) The physical event definitions provide the information required to construct the actual events.

[0450] Physical event definitions include the same data mapping specifications as logical event definitions. However, they may include extra fields (such as a database partition ID) that are necessary at the physical level, but not at the logical level. There may also be more than one physical event definition per logical event definition.

[0451] Inputs

[0452] Enterprise Logical Information Model work products

[0453] Enterprise Physical Process Model work products

[0454] Enterprise Physical Interface Model

[0455] Existing Enterprise Physical Information Models

[0456] Sample production data extracts

[0457] Operations

[0458] 1. Collect any existing Physical Information Models or related information.

[0459] 2. Conduct interviews and/or meetings with stakeholder managers and SMEs to develop the physical event definitions. Members of the Process team should participate in some of these meetings, in order to communicate the operations in the physical process event flows.

[0460] Begin with the logical event definitions, add the elements that are necessary for the physical implementation of event. For these additional fields, follow the same process that was used to build the logical event definitions.

[0461] Using the physical event process flow diagrams (from the Process team) as a starting point, determine where more than one event is needed to implement a logical event. Develop definitions for these events.

[0462] 3. Review and validate definitions with stakeholder managers and SMEs. Repeat step 3 as necessary to develop and accurate and complete set of physical event definitions.

[0463] 4. Obtain sample extracts of production data from each system to be integrated.

[0464] 5. Analyze the samples to determine the extent to which actual data matches the expected data model.

[0465] 6. Prepare a report that shows deviations from expected model and proposed methods of resolving invalid data. Resolutions should be implemented as part of the Infrastructure Design and Infrastructure Assembly activity areas. Examples of these resolutions would include:

[0466] Cleaning the data in the source system

[0467] Building filters in the new integration interfaces that ignore invalid data

[0468] Building translators in the middleware or interfaces that convert the invalid data

[0469] Review and validate the data analysis document with stakeholder managers and SMEs. Update proposed solutions based on input from stakeholders.

[0470] 7. Prepare for the cross-team review of all the models (see the Cross-Team Physical Model Walkthrough activity) by preparing an Impact Analysis Summary, which documents the impact of Information thread activities on groups outside the EAI project. This summary can be an update of the summary produced as part of the Enterprise Logical Model activity area.

[0471] 8. After the cross-team review, prepare for and conduct a final review with managers to obtain approval of the model.

[0472] 9. Prepare and publish the final documentation according to engagement or client standards.

[0473] The Work Product of activity 610 is physical information model 615, which includes Physical Event Definitions and Data Quality Assessment and Solutions.

[0474] Physical Interface model activity 620, which is part of the Interfaces thread, details the entire the physical implementation of the enterprise logical systems interface model to be constructed.

[0475] The Physical Interface model corresponds to the middleware components displayed in the Physical Event Flow Diagrams (part of the Physical Process Model).

[0476] The Physical interface model should contain the same details found in the aforementioned Logical Systems Interface Model, with the addition of the following:

[0477] Should show connections or transformations though middleware interfaces and/or transformers (e.g., ‘adapters’, ‘connectors’, or ‘agents’).

[0478] Should indicate whether those middleware components involve existing or customized software.

[0479] Indication of the specific part of an application (the user interface, the API, or database) that connects with the middleware and/or other applications.

[0480] Indication of the hardware on which each software component or database sits and the physical location of the machine.

[0481] An indication of the frequency and volume of information being passed between systems.

[0482] As with the other models, both the as-is and to-be states should be modeled.

[0483] Inputs

[0484] Enterprise Logical Systems Interface Model

[0485] Physical Process Event Flow Diagrams

[0486] Physical Event Definitions

[0487] Operations

[0488] 1. Collect any existing Physical Systems Interface Models or related information.

[0489] 2. Conduct interviews and/or meetings with managers and SMEs to develop the Physical Systems Interface Model for both the as-is and to-be states. Start with the ‘as-is’ Logical Systems Interface Model, and expand it by adding details in the following areas:

[0490] If there are middleware components in the as-is architecture: For each connection between an application and the middleware, specify the specific middleware components (e.g., ‘adapters’, ‘agents’) that information flows through. This information should be found in the physical event flows Wart of the Physical Process Model).

[0491] Show the different parts of each application (GUI, API, and/or database, as applicable). The model should indicate connections between a specific part and other applications (or the middleware).

[0492] For each software component, add the associated hardware type and the location of the machine.

[0493] Indicate the current frequency and volume of information being passed

[0494] 3. Review and validate the document with managers and SMEs. Repeat step 2 as necessary to develop an accurate and complete model.

[0495] 4. Prepare for the cross-team review of all the models (see the Cross-Team Physical Model Walkthrough activity) by preparing an Impact Analysis Summary, which documents the impact of Interfaces thread activities on groups outside the EAI project. This summary may be an update on the summary developed as part of the Logical Model activity area.

[0496] 5. After the cross-team review, prepare for and conduct a final review with managers to obtain approval of the model.

[0497] 6. Prepare and publish the final documentation according to engagement or client standards.

[0498] The Work Product of activity 620 is Physical Interface Model 625.

[0499] During operations management model activity 630, which is part of the Operations thread, the Operations team builds on the work produced during the Operations Architecture activity 590. As part of activity 630, the Operations team does the following:

[0500] Further refines and develops the Anticipated Hardware and Network Configuration diagram, updating as necessary based on decisions made since the diagram was first produced. The team also adds greater detail about physical implementation. The following types of information may be added to the diagram (and/or accompanying text):

[0501] Specific components used in network configuration

[0502] Capacity of networks and computers

[0503] Security policies

[0504] Specific environments

[0505] Configuration management and migration procedures

[0506] This physical implementation is meant to achieve the service levels determined previously. There should be diagrams produced for both the as-is and to-be states.

[0507] Determines how the required service levels of various operational services are to be measured. The team will document what tools will be used, how often the measures will be gathered, and who is responsible.

[0508] Develops a Production Readiness checklist that identifies items that must be evaluated and activities that must be performed in order to enable a successful production rollout of the integration infrastructure. The checklist should be used to track, for each item, the due date, the level of readiness, the owner of the item, and any other comments or references. The checklist will likely include items in the following areas:

[0509] Hardware/software/network infrastructure

[0510] Interfacing systems

[0511] Service level agreements

[0512] User documentation and training

[0513] Operations

[0514] User support (help desk)

[0515] Problem resolution

[0516] Configuration management

[0517] Application management

[0518] Capacity planning and management

[0519] Inputs

[0520] Operations Architecture document

[0521] Operations

[0522] 1. Work with Operations staff to record additional details about existing operations, and to develop the details about the to-be operations. It may also be useful to get the recommendations of hardware and software vendors. Information collected should include:

[0523] Specific components used in network configuration

[0524] Capacity of networks and computers

[0525] Security policies

[0526] Specific environments

[0527] Configuration management and migration procedures

[0528] 2. Conduct interviews and/or meetings with Operations managers and SMEs to document how existing service levels are currently measured (i.e., specific tools and techniques), when they are measure, and what team or role is responsible. Develop the to-be procedures, building on the as-is procedures if possible.

[0529] 3. Conduct interviews and/or meetings with Operations managers and SMEs to develop a Production Readiness Checklist, including due dates and owners.

[0530] 4. Review and validate documents with managers and SMEs. Repeat operations 1, 2 and 3 as necessary to develop an accurate and complete model.

[0531] 5. Prepare for the cross-team review of all the models (see the Cross-Team Physical Model Walkthrough activity) by preparing an Impact Analysis Summary, which documents the impact of Operations thread activities on groups outside the EAI project.

[0532] 6. After the cross-team review, prepare for and conduct a final review with managers to obtain approval of the model.

[0533] 7. Prepare and publish the final documentation according to engagement or client standards.

[0534] The Work Product of activity 630 is operations management model 635, which includes:

[0535] Detailed Hardware and Network Configuration diagram

[0536] Service Level Measurement Tools and Procedures

[0537] Production Readiness Checklist

[0538] Test strategy activity 640 provides an overview of the scope and procedures for the various levels of integration testing. While prepared by the Integration Testing Team, test strategy activity 640 produces an Enterprise Test Strategy which includes information about other levels of test (unit and string testing, performance test, and production readiness test). Test strategy activity 640 thus requires the input of other teams that are responsible for those levels of test.

[0539] The Enterprise Test Strategy contains high-level descriptions of:

[0540] The recommended levels of testing to be conducted for the EAI project, and the scope of each.

[0541] The test methodology, including the three main phases of testing (planning; preparation; and execution, verification, and correction).

[0542] If known, an overview of new or changed business processes that will be validated as part of integration test.

[0543] The procedures for baseline test data management Regression test productivity tools (if regression test is to be performed)

[0544] The procedures for tracking and reporting; includes incident tracking procedures and test case management procedures

[0545] The test documentation that will be produced in each level of test. This documentation will likely consist of the following:

[0546] Test Scenario. A collection of scripts that test a specific function or grouping of functions

[0547] Test Script. A set of procedures, organized in the exact sequence in which they are performed. A test script includes information such as setup parameters, input files, instructions for performing online functions or for executing batch jobs, and verification procedures. The execution of the script allows for the verification of a collection of associated test cases.

[0548] Test Case. A concise set of test conditions, data conditions, expected results (that identify database updates and file outputs), and verification procedures. There are one or more test cases in each script.

[0549] The Enterprise Test Strategy should be shared with the application development teams in a formal handoff meeting. These teams are considered separate from the EAI project; however, the applications are going to be used to perform the Integration Test and perhaps other levels of testing. It is helpful for the application teams to know what the expectations and needs of the EAI teams are in terms of testing.

[0550] During activity 640, the Integration Test team should also plan for the training of testers in the functionality of the applications being integrated, as well as in the functionality of the middleware and its components.

[0551] Inputs

[0552] Information on unit and string testing from the development teams

[0553] Information on performance testing, production readiness testing from Operations team

[0554] Information on new or changed business processes from the Organizational Development/Change Management (OD/CM) team

[0555] Existing organizational standards, tools for testing

[0556] Operations

[0557] 1. Conduct meetings with relevant managers and SMEs to decide what levels of test are necessary and agree on the general scope of those test levels. These may include:

[0558] Unit test

[0559] String test

[0560] Integration test

[0561] Regression test (if applicable)

[0562] Performance test

[0563] Production readiness test

[0564] 2. Decide what documentation will be produced for each type of testing. The type of deliverable and level of detail will vary based on the level of test. To make these decisions, the Integration Test team works with other teams: with the Information, Process, and Interfaces teams for unit and string testing; and with Operations teams for performance and production readiness tests.

[0565] 3. If applicable, consult with OD/CM team to find out about any business processes that have been added or changed as a result of, or in concurrence with, integration.

[0566] 4. The Integration Test team determines high-level procedures in various areas:

[0567] Baseline test data management

[0568] Regression test productivity tools (if regression test is to be performed)

[0569] Configuration management

[0570] Tracking and reporting (incident tracking and test case management)

[0571] 5. Document this information in the Enterprise Test Strategy template.

[0572] 6. Review and validate the document with the relevant managers and SMEs. Repeat the above operations as necessary to develop a complete and accurate Test Strategy.

[0573] 7. Conduct a review and handoff meeting with managers and testing SMEs from the applications team. Walk through the Enterprise Test Strategy and confirm understanding on the part of the applications teams. Emphasize the schedule of testing and the dependencies on the applications teams.

[0574] 8. Conduct additional handoff meetings as necessary with other teams that will be required to execute or support the different levels of testing. These teams include the Interfaces team (performance test) and Operations team (production readiness test). Walk through the Enterprise Test Strategy, emphasizing the role of each team, the testing schedule, and testing dependencies.

[0575] 9. Prepare and publish the final documentation according to engagement or client standards.

[0576] The Work Product of activity 640 is Enterprise Test Strategy 643.

[0577] During cross-team model walkthrough 645 activity, which closes Enterprise Physical Model activity area 470, the Information, Process, Interfaces, and Operations teams meet for a detailed walkthrough of the physical models that were produced as part of this activity area.

[0578] In addition, it may also be useful for the Integration Test Team to attend this walkthrough, to allow for knowledge transfer.

[0579] The purpose of walkthrough 645 is to ensure consistency and understanding between teams, and to spot any issues before the design activities begin.

[0580] In addition, it may also be useful for the Integration Test Team to attend walkthrough 645, to allow for early knowledge transfer.

[0581] Inputs

[0582] Enterprise Physical Information Model

[0583] Enterprise Physical Process Event Model

[0584] Enterprise Physical Systems Infrastructure Model

[0585] Operations Management Model

[0586] Impact Analysis Summaries from Information, Process, Interfaces, and Operations Teams

[0587] Operations

[0588] 1. Conduct a walkthrough meeting with representatives from the Information, Process, Interfaces, and Operations teams; applications and business unit stakeholders; and the Integration Test team. Present and walk through each physical model, as well as the Impact Analysis Summaries from each team.

[0589] 2. Record any issues that arise.

[0590] 3. Update the various models as issues are resolved.

[0591] 4. Publish approved version of the models.

[0592] Work Product(s)

[0593] Approved Enterprise Physical Models

[0594] As part of enterprise infrastructure design activity area 480, the various components of the integration infrastructure are designed at a detailed level.

[0595] The Information team determines how data from one system is to be transformed into data that will be understood by the middleware and/or by other systems. This data transformation design is one input into the Integration Services Designs (developed by the Process and Interfaces teams). These designs describe the services required to process events through the middleware and between the middleware and the various applications or databases.

[0596] During integration services design activity 650, the components involving the middleware and its communication with applications and databases, usually through an interface, are designed. These designs may include specifications for code or configuration setup.

[0597] The Integration Services Design includes the following topics:

[0598] How events are to be routed between applications and interfaces

[0599] The integration logic, such as that involved in data transformation and object model processing

[0600] The interfaces between the middleware and each API and/or database

[0601] Messaging services required to pass events between the middleware and APIs or databases

[0602] Which components perform each of the above activities will vary depending on the middleware product being used.

[0603] The Integration Services Design will most likely include portions of deliverables that were developed as part of other activity areas, but are relevant to the component being designed. For example, the design may contain the relevant portion of the Physical Systems Interface model or the related set of physical process event flow diagrams.

[0604] Inputs

[0605] Enterprise Physical Process Model

[0606] Enterprise Physical Information Model

[0607] Enterprise Physical Systems Interface Model

[0608] Detailed Data Transformation Design information

[0609] Operations

[0610] Develop list of assumptions (to ensure validity of the design according to constraints and standards).

[0611] 1. Determine/document the scope of the design (i.e., which part of the Enterprise Physical Process Model is covered by this design).

[0612] 2. Determine which events are expected to be received (subscribed events) and routed by (published events) this integration component. For these events, refer to the associated events flow diagrams and event definitions that were developed as part of the Logical Model and Physical Model activity areas.

[0613] 3. Determine data required to configure the component

[0614] 4. Determine how the component should react upon a losing its connection.

[0615] 5. Determine the type of storage used for different types of event, based on performance needs.

[0616] 6. Reference any other events that are used by this component, but developed with a different component.

[0617] 7. Define the specifications for processing by this component. Definition should be in the form of a flow chart at the pseudo-code level.

[0618] 8. For each step in the processing of this component, document the data required (get this information from the Information team).

[0619] 9. Determine any special error handling needs specific to this component.

[0620] 10. Develop unit test cases and expected results. Unit test should generally be performed as a structural test and should thus use a “clear box” approach, in which all statements, branches, conditions, and/or paths are covered. Clear box unit tests are built based on the code itself.

[0621] 11. However, some unit test cases are designed to verify system requirements; for these cases, a “black box” method is used. Black box unit tests are derived from the detailed design, and should include tests for both normal and exception processing.

[0622] 12. Document the above using the template for the Detailed Design for Integration Services.

[0623] 13. Review and validate the document with the development manager(s). The document should also be reviewed by a member of the Information team, to make sure that the data-related information was properly included in the design.

[0624] Repeat any of the above operations as necessary to develop an efficient and effective design.

[0625] 14. Prepare and publish the final documentation according to engagement or client standards.

[0626] The work product for activity 650 is Detailed Design for Integration Services 655.

[0627] Data Transformation Design activity 660 provides a detailed description of how data is transformed at each step of each event flow.

[0628] The Data Transformation Design builds on the physical event definitions, adding more detail about the following:

[0629] Parsing rules

[0630] Attribute rules

[0631] Table lookups

[0632] Specific data values (for reference data only)

[0633] This information will be used as input to the Integration Services Design activity 650, which occurs concurrent to this activity.

[0634] Inputs

[0635] Enterprise Physical Information Model

[0636] Enterprise Logical Systems Interface Model

[0637] API information for each relevant application

[0638] Table information for each relevant database

[0639] Operations

[0640] For each application in the problem domain:

[0641] 1. Document physical operations involved in translation (e.g., data is translated using a separated database, through a message broker, etc.).

[0642] 2. Provide the Process and Interfaces teams with the data transformation information, so that those teams may add it to the appropriate

[0643] The Work Product of activity 660 is Detailed Data Transformation information 665.

[0644] During performance test plan activity 670, the Interfaces team develops the Performance Test Plan.

[0645] The Performance Test Plan provides firther details on performance testing, which was first described in the Enterprise Test Strategy. The plan contains the following information:

[0646] Detailed scope of performance testing: Because a single measure of system performance is not feasible, performance will most likely be measured as the aggregate performance of a clearly defined set of system functions. This set will contain those components that were developed specifically for the current project, and will not include COTS applications being integrated.

[0647] Agreed performance requirements and types of performance measures (such as response time or throughput) that will be taken. This information should be available in the service levels portion of the Operations Management Model prepared by the Operations team as part of the Enterprise Physical Model activity area.

[0648] A list of factors that could affect performance. These could include factors such as the middleware implementation or client business volumes.

[0649] Inputs

[0650] Physical Systems Interface Model

[0651] Operations Management Model

[0652] Operations

[0653] 1. Identify stakeholders, such as area managers and SMEs. These are the people that are needed to support the planning and execution of the Performance Test.

[0654] 2. Collect any existing information on performance and performance testing. This would include the service levels portion of the Operations Management Model.

[0655] 3. Conduct interviews and/or meetings with stakeholder managers and SMEs to review the performance measures and targets that were agreed in developing the Operations Management Model (part of the Enterprise Physical Model activity area).

[0656] 4. Conduct interviews and/or meetings with stakeholder managers and SMEs to determine the scope of performance testing, i.e., determine the set of system functions whose performance will be measured and aggregated.

[0657] 5. Conduct interviews and/or meetings with stakeholder managers and SMEs to brainstorm on the various factors that may affect system performance.

[0658] 6. Review and validate the document with the relevant managers and SMEs. Repeat the above operations as necessary to develop a complete and accurate Performance Test Plan.

[0659] 7. Conduct handoff meetings as necessary with other people or teams that will be required to execute or support, or will otherwise be affected by, the performance test. Walk through the Performance Test Plan, emphasizing the role of each team, the testing schedule, and testing dependencies.

[0660] 8. Prepare and publish the final documentation according to engagement or client standards.

[0661] The Work Product of activity 670 is Performance Test Plan 675.

[0662] While the other teams are involved in design of the integration infrastructure, the Operations team performs the installation and configuration of the development and production environments, and also develops a production readiness test plan during operations installation/configuration activity 680.

[0663] Installation and configuration should happen as early as possible during enterprise infrastructure design activity area 410, so that developers have a “play” area in which to try out design ideas.

[0664] The production readiness test plan documents the approach for, and measures of success of, the production readiness test. The test takes place as part of the enterprise integration test activity area 500 and covers areas such as:

[0665] Job streams run by system operators

[0666] Background processes

[0667] Event monitoring and scheduling

[0668] Problem resolution procedures

[0669] Backup and restore procedures

[0670] Security

[0671] External interface connectivity

[0672] Physical interface connectivity

[0673] Configuration Management Procedures

[0674] Capacity Limits

[0675] Service Levels

[0676] Inputs

[0677] Operations Management Model

[0678] Operations

[0679] 1. Perform installation and configuration of following in the development environment:

[0680] New hardware and network components

[0681] System management components (includes configuration management tools, job schedulers, tools for monitoring and reviewing system performance and resource usage)

[0682] New or updated packaged software

[0683] New or updated custom-developed software (if available/applicable)

[0684] Backup and recovery jobs

[0685] 2. Perform installation and configuration in the testing environment of the items listed above.

[0686] 3. Perform installation and configuration the production environment of the items listed above.

[0687] 4. Identify stakeholders, such as area managers and SMEs. These are the people that are needed to support the planning and execution of the Production Readiness Test.

[0688] 5. Conduct interviews and/or meetings with stakeholder managers and SMEs to develop the production readiness test plan. Using the Production Readiness Checklist (part of the Operations Management Model) as input, decide on the measures of success for the test.

[0689] 6. Review and validate the document with the relevant managers and SMEs.

[0690] 7. Conduct handoff meetings as necessary with other people or teams that will be required to execute or support, or will otherwise be affected by, the production readiness test. Walk through the Production Readiness Test Plan, emphasizing the role of each team, the testing schedule, and testing dependencies.

[0691] 8. Prepare and publish the final documentation according to engagement or client standards.

[0692] The Work Product of activity 680 is installed and configured development, testing and production environments, and Production Readiness Test Plan 685.

[0693] An Enterprise Integration Test Plan is produced at test plan activity 690 by the Integration Test team and is specifically about the Enterprise Integration Test. It does not include planning for other levels of test, such as unit test, string test, and performance test. Test plans for those test levels are produced by the responsible teams as part of other activities in this methodology.

[0694] Integration test focuses on how all the applications work together functionally. The approach for integration test will be referred to as “end to end” testing. The tests will test real business situations that map to a targeted set of functions and data. The Integration Test team will work with the Information, Process and Interfaces teams to identify logical groups of data to be selected for targeted testing.

[0695] The Enterprise Integration Test Plan covers many of the same topics as the Enterprise Test Strategy, but at a lower level of detail. It contains the following:

[0696] Scope of testing

[0697] List/outline of all test scenarios, scripts, and cases

[0698] Execution plan, which includes:

[0699] Location

[0700] Milestones (dates)

[0701] Environment

[0702] Schedule

[0703] Plan for coordinating testing of new or changed business processes with OD/CM team

[0704] Plan for coordinating test of external interfaces with outside vendors or client organizations outside the EAI project

[0705] Testing resources (staffing)

[0706] Incident management guidelines

[0707] Status reporting guidelines

[0708] Guidelines for turnover to the next activity area (i.e., production readiness test or acceptance test)

[0709] The test scenarios, and the schedule for executing them, should be planned such that those that test basic, yet representative, functions are executed first. This will allow the testers to test the stability of the integration infrastructure and the test environment, before more complicated scenarios are run. (Included in these more complicated scenarios are those that involve an external interface).

[0710] Other activities that take place during test plan activity 690 involve advance preparation for testing activities. These include training testers in the functionality of the applications and the middleware, as well as advance coordination with external parties in testing external interfaces.

[0711] Inputs

[0712] Enterprise Test Strategy

[0713] Enterprise Logical Process Event Model

[0714] Enterprise Physical Process Event Model

[0715] Enterprise Physical Information Model

[0716] Enterprise Physical Systems Interface Model

[0717] Operations Management Model

[0718] Operations

[0719] 1. Conduct meetings with stakeholder managers and SMEs to decide on the scope of testing. The scope will likely be at least partly dictated by the statement of work for the project. The specific group of functions that should be included in Integration Test can be found in the Enterprise Logical Process Event Model.

[0720] 2. Start making advance arrangement with external parties to test external interfaces. These arrangements should be made as early as possible.Arrange for training of testers on the enterprise applications, any new COTS applications and/or the middleware.

[0721] 3. Involve OD/CM team in planning test of new or changed business processes as part of Integration Test.

[0722] 4. Develop the list of all test scenarios, scripts, and cases. One can use either a top-down approach (scenarios defined first) or a bottom-up approach (test conditions defined first, then grouped into scenarios).

[0723] 5. Conduct meetings with stakeholder managers and SMEs to decide on the test location and the specific dates that test execution, as well as the remaining test planning, will take place.

[0724] 6. Conduct meetings with stakeholder managers and SMEs to develop a detailed testing schedule that specifies when each scenario and script will be run and in what environment.

[0725] 7. Conduct meetings with stakeholder managers and SMEs to determine how many people (AMS or client) will be taking part in test planning or execution.

[0726] 8. Conduct meetings with stakeholder managers and SMEs to develop other test guidelines and procedures, including:

[0727] Detailed guidelines for incident management and test case management.

[0728] Develop detailed guidelines for reporting status of test cases.

[0729] Guidelines for turnover from Integration Test to the next activity area (i.e., the Production Turnover and Infrastructure Installation activities within the Enterprise Infrastructure Implementation activity area)

[0730] 10. Review and validate the document with the relevant managers and SMEs. Repeat the above operations as necessary to develop a complete and accurate Integration Test Plan.

[0731] 11. Conduct handoff meetings as necessary with other people or teams that will be required to support, or will otherwise be affected by, the integration test. Walk through the Integration Test Plan, emphasizing the role of each team, the testing schedule, and testing dependencies.

[0732] 12. Prepare and publish the final documentation according to engagement or client standards.

[0733] The Work Product of activity 690 is Enterprise Integration Test Plan 695.

[0734] As part of Enterprise infrastructure assembly activity area 420, the Information, Process and Interfaces teams all join to assemble, unit test, and string test the various components of the integration infrastructure. The integration infrastructure includes routing functions, rules, data transformation, API interfaces, database interfaces, and messaging services.

[0735] Assembly of these components may involve coding, setting simple or complex parameters, or using automated fourth-generation tools in order to set up the middleware to work between the various applications.

[0736] While the Information, Process and Interfaces teams are building, unit testing and string testing integration components, the Integration Test team is preparing for Integration Test and Performance Test. This preparation includes the development of scenarios, scripts, cases, and expected results.

[0737] The development of operations procedures also takes place as part of activity area 420.

[0738] During build/test integration services activity 700, the integration components are coded or configured, unit tested, and string tested.

[0739] A unit test is an individual test of the component(s) in each detailed design document.

[0740] A string test is test across multiple components. The purpose of the string test is to ensure the integration of each of various components through the middleware. It is intended to be a technical connectivity test that validates the flow of events and transactions from one application to the next.

[0741] There will most likely be some components that send output to an external interface, that is, an application outside the EAI project or even outside the client organization (such as a credit card payment processing company). These interfaces may be unit-tested (using stubs), but will most likely not be able to be string tested during this stage.

[0742] Inputs

[0743] Detailed Designs for Integration Services, including detailed data transformation information 665, and detailed design for integration services 655.

[0744] Operations

[0745] 1. Partition development work

[0746] 2. Write code with comments, documentation

[0747] 3. Set up configuration parameters

[0748] 4. Create new events

[0749] 5. Update code to handle any new events

[0750] 6. Run unit tests and record results. Develop drivers and stubs as needed. These should be used only when required external components are not available or make testing difficult (e.g., it is difficult to generate boundary values from the external component).

[0751] 7. Conduct string tests across more than one component.

[0752] 8. Review results of work with the development manager(s).

[0753] 9. Prepare and publish the final documentation according to engagement or client standards.

[0754] The Work Product of activity 700 is Coded/configured Integration

[0755] Integration Components

[0756] Unit Test Results

[0757] String Test Results

[0758] During develop operations procedures 710, while other teams are involved in the coding, setup and testing of integration components, the Operations team develops operations procedures that will be used when the integration infrastructure is in production.

[0759] In addition to developing the operations procedures, the Operations team also revisits the Production Readiness Checklist, updating and refining it based on knowledge gained since the checklist was first developed.

[0760] Inputs

[0761] Operations Architecture document

[0762] Operations Management Model

[0763] Production Readiness Checklist

[0764] Production Readiness Test Plan

[0765] Operations

[0766] 1. Work with the operations staff to develop the detailed procedures necessary for measuring the service levels agreed with the client. These procedures should build on the Service Level Measurement Tools and Procedures developed in enterprise infrastructure design activity area 410.

[0767] 2. Work with the operations staff to develop other operations policies and procedures in areas such as:

[0768] Backups and restores (what should be backed up, how often, and what procedures should be followed)

[0769] Detailed security policies (building on security needs documented in Operations Management Model)

[0770] Archiving policies and procedures

[0771] Emergency procedures for system breakdown, including a problem escalation hierarchy

[0772] Manual business procedures that can be used if system breaks down (e.g., paper forms are used to record customer orders; data is keyed into system after recovery)

[0773] Procedures for problem reporting

[0774] Process for providing support to the application help desk

[0775] 3. Review and validate the procedures and the checklist with the relevant operations staff, managers and SMEs. Repeat the above operations as necessary to develop a clear and effective set of Operations Policies and Procedures, and a complete Production Readiness Checklist.

[0776] 4. Conduct handoff meetings with operations staff. Walk through the new operations procedures.

[0777] 5. Prepare and publish the final documentation according to engagement or client standards.

[0778] The Work Product of activity 710 is Operations Policies and Procedures and Updated Production Readiness Checklist 715.

[0779] During test scenarios activity 720, the Integration Test team builds test scenarios, scripts and cases. These include scenarios, scripts and cases for Performance Test. The Interfaces Team should assist the Integration Test team with the performance testing materials.

[0780] As mentioned in the previous activity area, the test scenarios should be written such that those that test basic, yet representative, functions are executed first. This will allow the testers to confirm the stability of the integration infrastructure and the test environment, before more complicated scenarios are run.

[0781] Inputs

[0782] Enterprise Test Strategy

[0783] Enterprise Integration Test Plan

[0784] Performance Test Plan

[0785] Requirements

[0786] Operations

[0787] 1. Develop each scenario that is listed in the Enterprise Integration Test Plan. A scenario should include:

[0788] Description (should include functions tested by scenario)

[0789] List of scripts grouped within this scenario

[0790] Components tested by this scenario

[0791] Business processes tested by this scenario

[0792] Prerequisites (general setup)

[0793] Related requirements or specifications, by script

[0794] Overview of reference data used in scenarios

[0795] Instructions on how to create data for the scenario, set up input, and execute major processes used in the scenario

[0796] 2. Develop each script in each scenario. A script should contain:

[0797] Prerequisite setup that is specific to the script

[0798] Execution instructions that are specific to the script

[0799] Instructions on how to set up various forms of input (such as files, GUI input, etc.) required to run the script

[0800] List of various forms of output (files, table dumps, online query output, etc.)

[0801] 3. Develop each case in each script. A case should contain:

[0802] Description

[0803] List of customers (or other major data entities) being run

[0804] Specific reference data values

[0805] Events used

[0806] Functional areas being tested

[0807] List of related cases

[0808] Setup and execution instructions specific to this case

[0809] Expected results

[0810] 4. Review and validate documents with managers and SMEs. Repeat above operations as necessary.

[0811] 5. Prepare and publish the final documentation according to engagement or client standards.

[0812] 6. Deliver copies of the Integration and Performance test scenarios, scripts and cases to the application development teams. If necessary, conduct a handoff/walkthrough meeting.

[0813] The Work Product of activity 720 is

[0814] Integration Test scenarios, scripts and cases 725 and

[0815] Performance Test scenarios, scripts and cases.

[0816] As part of Enterprise integration test activity area 500, the various components of the integration infrastructure are tested together. The integration infrastructure is tested using the various applications.

[0817] It is not the purpose of activity area 500 to test the functional requirements of the applications being integrated. Rather, the purpose is to test the integration components to ensure they meet with integration business objectives.

[0818] However, in order to initiate the integration test and ensure the integration produces the desired results, the applications will be used to invoke and verify the integration test. In other words, the applications are essentially regression tested as a method to confirm the integration.

[0819] Performance testing and production readiness testing are also executed as part of activity area 500.

[0820] During integration test execution activity 750, the Integration Test team does the necessary setup, then runs the integration test scenarios (using the enterprise applications) and validates results.

[0821] The test scenario execution should be scheduled such that those scenarios that test basic, yet representative, functions are executed first. This will allow the testers to confirm the stability of the integration infrastructure and the test environment, before more complicated scenarios are run.

[0822] Within these two groups of “basic” and “complicated” scripts, multiple scenarios can be executed simultaneously.

[0823] Included in the integration test are scenarios that test external interfaces. External interfaces involve output from the integration components that is sent to an application outside the EAI project, or even outside the client organization (such as a credit card payment processing company). These interfaces require advance coordination (see the Enterprise Integration Test Plan stage), but should not be included in integration test until the infrastructure is proven to be reasonably stable. Thus, the external interface scenarios should be run after the basic scenarios have been run.

[0824] Inputs

[0825] Integration Test scenarios, scripts, and cases

[0826] Integration Components

[0827] Operations

[0828] 1. Perform the necessary setup as described in the test scenario and script documentation.

[0829] 2. Execute each test case.

[0830] 3. Document results. When results differ from expected results, enter an incident.

[0831] 4. When incident is resolved, re-run test and/or update test case document (whichever is applicable).

[0832] 5. Document final results in the test case document. Documentation of final results includes:

[0833] Notes on actual results

[0834] Name of person validating, date, time

[0835] Validation proof (reference to an event file generated by case, screen print of GUI, etc.)

[0836] 6. Review results of work with the Integration Test manager(s).

[0837] 7. Prepare and publish the final documentation according to engagement or client standards.

[0838] Work Product(s)

[0839] Executed integration test scenarios, scripts, and cases

[0840] During performance test execution activity 730, the Operations Test team sets up the necessary data, utilities, etc. for performance testing. The team then runs the scenarios and validates results.

[0841] Performance test execution involves a combination of manual and scripted processes.

[0842] Manual testing verifies the system's performance from the user's perspective. It consists of stepping through specially selected functions.

[0843] Scripting allows for the testing with high loads that would be infeasible to create manually. An example of scripting would be the use of a driver script that is used to generate high volumes of events through the middleware, creating a load on receiving applications. (These events should correspond to actual events that would be published by individual applications.)

[0844] Ideally, performance testing should be run after the basic set of integration test scenarios have been run, in order to make sure that the infrastructure is somewhat stable.

[0845] Inputs

[0846] Performance test scenarios, scripts, and cases

[0847] Performance Test Plan

[0848] Operations

[0849] 1. Conduct a kickoff meeting to make sure that everyone understands his/her role in the Performance Test.

[0850] 2. Set up the necessary data, utilities, etc.

[0851] 3. Execute each test case.

[0852] 4. Report and resolve incidents and issues as necessary.

[0853] 5. Measure and record test results in the test case document. Documentation of final results includes:

[0854] Notes on actual results

[0855] Name of person validating, date, time

[0856] Validation proof

[0857] 6. In validating each case, confirm that the associated performance service level(s), as agreed during the “Operations Management” stage, have been met. If they have, report this to the Operations team; they will check that item off on the Production Readiness Checklist. If the service level is not met, enter an incident and assign an owner to the problem.

[0858] 7. Review results of work with the Performance Test manager(s).

[0859] 8. Prepare and publish the final documentation according to engagement or client standards.

[0860] 9. At the end of the test, immediately report any outstanding incidents. These issues should be escalate and/or resolved as quickly as possible.

[0861] Work Product(s)

[0862] Executed performance test scenarios, scripts, and cases.

[0863] Tested performance parameters/conditions 735.

[0864] During production readiness test execution activity 740, the Operations Test team sets up and executes the Production Readiness Test, using the production readiness test plan and the production readiness checklist as guides.

[0865] The production readiness test will determine whether or not the client's operations, organization, procedures are ready to go live with the new integration infrastructure. It is a test of the operations infrastructure and, just as importantly, of the procedures that the Operations team developed as part of enterprise infrastructure assembly activity area 490.

[0866] Ideally, production readiness testing should begin after the basic set of integration test scenarios have been run, in order to make sure that the infrastructure is somewhat stable.

[0867] Inputs

[0868] Production Readiness Test Plan

[0869] Production Readiness Checklist

[0870] Operations Procedures

[0871] Operations

[0872] 1. Conduct a kickoff meeting to make sure that everyone understands his/her role in the Production Readiness Test.

[0873] 2. Assess each area covered in the Production Readiness Checklist. This may include the following:

[0874] Confirming that software, hardware, and network components are installed

[0875] Checking connectivity with external interfaces

[0876] Running the job schedule, system monitoring tools

[0877] Testing the configuration management procedures

[0878] Testing backup and recovery procedures

[0879] Testing security

[0880] 3. Compare the results of the assessment with the measures of success (from the Production Readiness Test plan). If the measures of success are met, check off the related items on the Production Readiness Checklist.

[0881] 4. Record areas that need to be improved before the integration infrastructure can go live. Assign owners to each of these areas, and escalate if necessary.

[0882] 5. Review results of work with the Production Readiness Test manager(s).

[0883] 6. Prepare and publish the final documentation according to engagement or client standards.

[0884] The Work Product of activity 740 is tested production operations procedures 745.

[0885] As part of Enterprise infrastructure implementation activity area 440, the integration infrastructure components are installed and validated.

[0886] End user readiness test activity 760 is an informal, high level test that is meant to be an extra quality check, not a formal acceptance test.

[0887] During activity 760, end users use the enterprise applications to validate that the integration infrastructure (that connects the applications) is working. Users should run through several typical business scenarios to make sure that information is processed correctly through multiple systems.

[0888] An example of how this test might work would be to have volunteers (users or others in the organization) designated as the first “customers” of the new system. These volunteers would interact with the system end users, going through the normal operations involved in common business functions. For example, the volunteer may set up a new account, change customer information, incur charges, and receive a bill for those charges. The business functions that are included in the test should, of course, cross more than one application, in order to exercise the integration infrastructure.

[0889] Inputs

[0890] Complete production environment

[0891] Operations

[0892] 1. Conduct a kickoff meeting to decide on the following:

[0893] Who participates in the test

[0894] Roles of participants

[0895] General range of business functions to be run

[0896] Measures of success

[0897] 2. Execute the test. Record any problems as incidents. Escalate and/or resolve these incidents immediately.

[0898] Work Product(s)

[0899] Validated business functions and procedures

[0900] During infrastructure installation activity 770, the custom software components that support the integration infrastructure are installed. An installation test is run to confirm that all components were installed correctly.

[0901] User and operations documentation and training are also delivered during this stage.

[0902] As each activity is completed, the operations staff should check off all related items on the Production Readiness Checklist.

[0903] At the end of this stage, the installed infrastructure, and all associated procedures, should be ready to be put into use in the production environment.

[0904] Inputs

[0905] Tested Integration components

[0906] Tested performance parameters/conditions

[0907] Test Production Operations Procedures

[0908] User and operations documentation

[0909] User and operations training materials

[0910] Operations

[0911] 1. Confirm that the components listed below were installed and configured in the production environment during the Operations Installation and Configuration stage.

[0912] New hardware and network components

[0913] System management components (includes configuration management tools, job schedulers, tools for monitoring and reviewing system performance and resource usage)

[0914] New or updated packaged software

[0915] New or updated custom-developed software (if available/applicable)

[0916] Backup and recovery jobs

[0917] 2. Re-install and re-configure any components that have been updated since the Operations Installation and Configuration stage.

[0918] 3. Run an installation test using a basic script(s) that executes all the installed components; an Integration Test script(s) could be used. The test should include a test of connections with external interfacing systems (both source and distribution). Also include the job scheduler and system monitoring tools in this test.

[0919] 4. Define and implement access privileges for users and operations.

[0920] 5. Test the configuration management procedures in the production environment (for example, moving a change between environments or backing out a change).

[0921] 6. Finalize and deliver user and operations documentation. Store documentation in a central repository.

[0922] 7. Schedule and conduct training for users and operations staff.

[0923] 8. Confirm that the production staff is ready to take over responsibility of the system. They should be trained in new procedures and aware of the production turnover schedule.

[0924] 9. Confirm that the technical support infrastructure (including support to the help desk for applications) is in place and ready.

[0925] 10. Confirm that the problem reporting procedure is in place.

[0926] 11. Confirm that the Production Readiness Checklist has been completed. Assign an owner to and immediately escalate any item that is incomplete.

[0927] Work Product(s)

[0928] Complete, installed production environment 775.

[0929] During production turnover activity 780, the operations staff does a final check of the Production Readiness Checklist is made. After the client signs off on the infrastructure, the integration environment is put into live operation. Responsibility for the integration infrastructure is turned over to the production organization.

[0930] Inputs

[0931] Complete, installed production environment

[0932] Completed Production Readiness Checklist

[0933] Operations Procedures

[0934] Operations

[0935] 1. Conduct a production turnover meeting to review the whole Production Readiness Checklist. If there are any outstanding issues, these must be resolved before proceeding.

[0936] 2. Obtain formal signoff on the delivered infrastructure.

[0937] 3. Perform cutover (data starts to be run through the new infrastructure).

[0938] 4. Formally turn over responsibility to the production organization.

[0939] Work Product(s)

[0940] Live integration infrastructure

[0941] The many features and advantages of the invention are apparent from the detailed specification and, thus, it is intended by the appended claims to cover all such features and advantages of the invention which fall within the true spirit and scope of the invention. Further, since numerous modifications and changes will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and operation illustrated and described, and accordingly all suitable modifications and equivalents may be resorted to, falling within the scope of the invention.

Appendix

[0942] Activity

[0943] A major task within each activity area. Examples include Enterprise Process Domain Model, Physical Process Model, or Integration Services Design.

[0944] Activity Area

[0945] Grouping of activities within each EAI Methodology phase. There are one or more activity areas for each phase. Examples include the Enterprise Business Model and Enterprise Infrastructure Design activity areas.

[0946] Application Program Interface (API)

[0947] A predefined, structured interface through which other programs may communicate with an application.

[0948] Assembly

[0949] In the AMS EAI methodology refers to tasks involved in building the integration infrastructure; includes everything from software development through infrastructure tool setup.

[0950] Asynchronous communications

[0951] Communication between applications during which the applications operate independently. Thus the applications do not need to be simultaneously running/available. One application sends a request; this may be answered immediately, or it may be queued for later processing by the receiving application. In the meantime, the sending application can continue processing without waiting for the response.

[0952] Canonica

[0953] Generic or normative; following or providing a standard, as in a canonical data model.

[0954] Information thread

[0955] The full life-cycle set of activities in the EAI methodology that relate to information. While data is defined as the numbers or other symbols represented in a form suitable for processing by a computer system, information can be defined as stimuli that has meaning in some context for its receiver. Information is converted into data, put into a system or application where it is stored and processed, and then put out in some form that can be perceived as information. This translation from information into data and back into information is in fact one of the major challenges of integrating different applications. The EAI Methodology addresses the issue through the Enterprise Information Domain model, which provides a common context in which to interpret data originating from different sources and different systems.

[0956] Data-level integration

[0957] A form of EAI that integrates different data stores to allow the sharing of information among applications. With this type of integration, data is loaded directly into a database through its existing interface. This does not involve the changing of business logic.

[0958] Data transformation

[0959] Translation of one data set into another, such as different date or number formats (syntactic translation) or translation of data based on the underlying data definitions or meaning (semantic transformation). This is a key function of EAI and message brokers.

[0960] Enterprise Application Integration (EAI)

[0961] A set of technologies that allows the sharing of information between disparate enterprise applications and business processes. EAI uses a systematic process to tie together applications and processes within and between organizations.

[0962] Integration Test

[0963] Concerned with testing the integration infrastructure and the end-to-end interaction between application systems.

[0964] Interface thread

[0965] The full life-cycle set of activities in the EAI methodology that relate to the application interfaces and middleware infrastructure. An interface is the point of interaction or communication between an application system and any other application system or computer entity. An interface might be a hardware connector used to link to other devices, or it might be a convention used to allow communication between two application systems. Often there is some intermediate component(s) between two applications that connect their interfaces. In fact, in the case of EAI, there are by design a series of discrete physical interfaces; these together provide an end-to-end interface between any two interacting application components.

[0966] Message broker

[0967] A flexible, intelligent intermediary that manages the flow of messages between applications. Such brokers provide data transformation, message routing and message warehousing, as well as other services. Applications become sources (publishers) and consumers (subscribers) of information. A message broker is a key component of EAI.

[0968] Middleware

[0969] Software that facilitates the communication between two separate, existing applications. It provides an API through which applications invoke services and it controls the transmission of the data exchange over the network.

[0970] Model

[0971] An abstraction of one or more systems that gives information about the data, processes, interfaces, etc. involved, usually in a graphical format. Graphics may be supplemented by other material.

[0972] Non-invasive integration

[0973] An implementation approach that does not require software programming updates to existing integration applications.

[0974] Operations thread

[0975] The full life-cycle set of activities in the EAI methodology that relate to operations including management of the middleware environment. It includes hardware, network, and software components, but is specifically focused on the middleware (enterprise-wide) layer, as opposed to the application (departmental) layer. Management refers to planning, controlling, monitoring, reporting, correcting and changing the middleware environment. The same management guidelines that apply to application and system operations apply to middleware operations, but at a different level. For example, the service levels required of the middleware will be based on the enterprise-wide aggregate service levels. There are also planning and change management needs associated with the middleware itself.

[0976] Phases

[0977] Refers to the highest level of aggregation of activities within an EAI methodology project. The five phases are Define, Design, Build, Test and Deploy.

[0978] Process automation

[0979] Sometimes referred to as “workflow”, process automation involves the management of the movement of data and the invocation of processes in the correct and proper order in an automated fashion using pre-programmed and dynamic software tools. Process automation at the enterprise level provides another layer of centrally managed processes that exist on top of an existing set of application processes and data.

[0980] Process thread

[0981] The full life-cycle set of activities in the EAI methodology that relate to the process tasks including a logical ordering of people, technology, policies, and procedures into a coordinated set of activities. These activities are designed to transform information into a specified result, in order to meet business objectives. The EAI Methodology is concerned with the processes that are relevant across the enterprise, that is, between departments and across systems.

[0982] Publish/subscribe

[0983] A type of communication between applications. Publishing applications are able to broadcast data to hub, which distributes the information to the set of interested subscribers. Subscribing applications have indicated which types of information they wish to receive. An application can be both a publisher and a subscriber.

[0984] Specification

[0985] Refers to the inputs to the EAI process. Used instead of “requirements.”

[0986] Synchronous communications

[0987] A form of communication between applications that requires the applications to run simultaneously. A process issues a call and waits until it receives a response.

[0988] Threads

[0989] Common integration aspects that weave through some or all EAI methodology phases. Examples are the Data, Process, Infrastructure and Operations threads.

[0990] Workflow

[0991] The sequence of human and system activities that describe what an organization does and in what order at the worker level. Usually refers to the activities within a given application system and typically only when human activities are involved. See also process automation.

[0992] Zero latency

[0993] Another term for “real time;” the case in which there is no delay between an event and its response. 

What is claimed is:
 1. A method for integrating business functions performed by different application systems, comprising: generating a business model, based upon said application systems; generating a logical model, based upon said business model; generating a physical model, based upon said logical model; designing an infrastructure, based upon said physical model; assembling the infrastructure; testing the infrastructure; and implementing the infrastructure.
 2. The method for integrating business functions performed by different application systems according to claim 1, wherein said business model comprises: a process domain model; a information domain model; a system infrastructure model; and an operations model.
 3. The method for integrating business functions performed by different application systems according to claim 1, wherein said logical model comprises: a logical process event model; a logical data model; a logical infrastructure model; and an operations architecture.
 4. The method integrating business functions performed by different application systems according to claim 1, wherein said physical model comprises: a physical process event model; a physical data model; a physical infrastructure model; an operations management model; and a test strategy.
 5. The method integrating business functions performed by different application systems according to claim 1, wherein designing an infrastructure comprises: generating an integration services design; generating a data transformation design; generating a performance test plan; generating a production readiness test plan; and generating an integration test plan.
 6. The method for integrating business functions perform-ed by different application systems according to claim 1, wherein assembling the infrastructure comprises: building and testing integration components; developing operations procedures; and building test scenarios, scripts and cases.
 7. The method for integrating business functions performed by different application systems according to claim 1, wherein testing the infrastructure comprises: executing integration test scenarios; executing performance test scenarios; and testing production operations.
 8. The method for integrating business functions performed by different application systems according to claim 1, wherein implementing the infrastructure comprises: validating the infrastructure; installing the infrastructure; and operating the infrastructure.
 9. A method for integrating business functions performed by different application systems, comprising: implementing business applications; and integrating the implemented business applications by using a framework to consistently divide integration tasks into smaller manageable integration tasks.
 10. The method for integrating business functions performed by different applications systems according to claim 9, wherein said implementing business applications and said integrating the implemented business applications are separate and distinct operations.
 11. The method for integrating business functions performed by different applications systems according to claim 9, wherein the framework comprises different layers, subject threads, and modeling views.
 12. A method for integrating business functions performed by different applications systems according to claim 11, wherein the layers are represented using modeling techniques.
 13. The method for integrating business functions performed by different application systems according to claim 12, wherein the modeling techniques comprise: gathering specifications of items to be integrated; modeling functions and/or behavior of the items; mapping connections between systems; and developing integration principles to resolve integration conflicts.
 14. The method for integrating business functions performed by different application systems according to claim 9, wherein said implementing business applications and said integrating the implemented business applications have different lifecycles.
 15. A repeatable EAI lifecycle methodology, comprising: integrating enterprise application systems; maintaining the integrated enterprise application systems; modifying the integrated enterprise application systems; and expanding the integrated enterprise application systems. 